NoSQL, Whitelisting, MapReduce

Was wirklich wichtig wird

04.10.2010 von Ruwen Schwerin
Diese zehn Technologien werden die technische Weiterentwicklung bestimmen - sowohl für Unternehmen als auch für Endverbraucher.

Wir alle wissen, wie Business funktioniert - nämlich schnell und laut. Doch nicht jede lautstark angepriesene Innovation setzt sich auch wirklich durch. Welche Technologien in Zukunft für erfolgreiche Business-Profis besonders wichtig werden, haben wir im Folgenden für Sie zusammengestellt.

Wir haben uns zur Aufgabe gemacht, die wirklich wichtigen Strömungen in der Techniklandschaft von den weniger zentralen oder bereits gefestigten Bereichen zu trennen. Man muss für wirklichen Erfolg rechtzeitig erkennen, dass gerade heutzutage viele neuen Technologien ungeahnte Möglichkeiten bieten: Kosten reduzieren, neue Arbeitswege finden, Grenzen verschieben. Es geht nicht nur um die von Analysten immer wieder als wichtig beschworenen aktuellen Business-Technologien, sondern um die, die noch nicht so verbreitet sind, aber bereits größes Potenzial erkennen lassen. Wer gleich den richtigen Weg einschlägt, muss nicht umkehren.

Das Ergebnis ist eine Sammlung von aktuellen, oft gerade aufkommenden Technologien. Keine wissenschaftliche Methoden waren die Grundlage für die Auswahl, sondern die Ideen und Einschätzungen von IT-Profis und Redakteuren. Es wurde vermieden, spezielle Produkte zu nennen oder zu empfehlen – bei der Auswahl liegt das Augenmerk auf den Technologien, die langfristig das größte Potenzial erwarten lassen und nicht auf denen, die bereits heute vollständig umgesetzt werden können. Wenn es Ihre Aufgabe ist, sich Technologie-Strategien auszudenken und zu entscheiden, auf welche neuen Bereiche man setzt, dann ist unsere Top-10 der Business-Technologien das Richtige für Sie.

Die Auswahl der 10 wichtigsten Technologien war nicht einfach, bei einer Umfrage des Business-Portals inforworld.com wurden viele interessante Vorschläge genannt. Nicht jeder würde vielleicht die gleiche Auswahl treffen wie im vorliegenden Artikel – aber das konnte bei einem Überblick wie diesem auch nicht das Ziel sein. Lassen Sie sich von unserer Zusammenstellung überraschen: Whitelisting und Cross-Platform-Development, I/O-Virtualisierung und Datendeduplizierung, Solid State Drives und NoSQL-Datenbanken, Hardware-Stromsparfunktionen und Manycore-Prozessoren, Desktop-Virtualisierung und MapReduce.

Plätze 10 und 9: Whitelisting und Cross-Platform-Development

Platz 10: Whitelisting

Die täglich erscheinenden neuen Malware-Signaturen sind nicht mehr überschaubar. Im Jahr 2008 nahm Symantec mehr neue Antivirus-Signaturen auf als in den 17 Jahren zuvor, die das Unternehmen bereits besteht. Es gibt nicht nur immer mehr Viren, Würmer und Trojaner – diese treten auch in immer flexibleren Variationen auf, die dadurch nicht entdeckt werden können oder der Entdeckung durch eine Selbstverschlüsselung entgehen.

Letztendlich kann die einzige Antwort auf die zunehmende Verbreitung und Raffinesse der Malware nur das sogenannte Whitelist-Verfahren sein, durch das nur ausführbare Dateien akzeptiert werden, die auf einem System schon bekannt sind.

Der Prozess des Whitelisting beginnt bei einem sauberen, von Malware freien Image für den Desktop oder den Server. Danach läuft eine Whitelist-Software, um Dateien mit einem oder mehreren (kryptographischen) Hashwerten eindeutig zu identifizieren. Später können Monitoring-Agenten auf dieser Grundlage auf dem verwalteten Systemen das Vorhandensein von ausführbaren Dateien, die nicht auf der erstellten Hashliste stehen, melden und das Ausführen verhindern. Die meisten Unternehmen verteilen sowieso Standard-System-Images im gesamten Unternehmen, was Whitelisting zu einer äußerst effizienten Methode macht.

Whitelist-Software kann oft auch mit einem breiteren Spektrum von Dateien umgehen, nicht nur mit ausführbaren Dateien - einschließlich Makro-Modulen und Scripts. Sie kann sogar jede beliebige Text- oder Konfigurationsdatei mit einem Schreibschutz belegen. Das kann sehr nützlich sein, um nicht autorisierte Änderungen zu verhindern. Viele Malware-Programme machen sich zum Beispiel an der DNS-Hosts-Datei zu schaffen.

Selbstverständlich erfordert das Whitelisting aber auch ein Umdenken in den Unternehmen. Heute hat der einzelne Nutzer teilweise noch viel Kontrolle darüber, was auf dem eigenen Desktop- oder Laptop läuft. Wegen der unnachgibigen Verbreitung neuer und intelligenterer Malware – verstärkt ist sogar die organisierten Kriminalität in die Malware-Angriffe involviert - könnte Whitelisting die einzige Hoffnung sein, die Schlacht um die Unternehmenssicherheit nicht zu verlieren.

Platz 9: Cross-Platform-Development für den mobilen Bereich

Der Boom des iPhones eröffnete den Programmierern viele neue Möglichkeiten – die Entwicklung eines Programms, das Körpergeräusche simuliert, dürfte nur eine Randerscheinung sein. Hier spielt Objective-C, eine Sprache, die zunächst mit Steve Jobs NeXT -Computer im Jahr 1988 eingeführt wurde, eine Rolle.

Wenn Sie ein Java-Programmierer sind, können Sie durch das Lernen von Objective-C die Speicherzuordnungen selbst anpasst. Wenn Sie einen JavaScript-Enthusiast sind, müssen Sie erst das Konzept eines Compilers verstehen. Es gibt keine andere Wahl, wenn Sie Code, der von Millionen von iPhone-Besitzer heruntergeladen werden kann, selbst schreiben wollen.

Die Tage, als das iPhone noch das einzige wirklich attraktive Spielzeug seiner Art war, sind zu Ende. Android und BlackBerry-Geräte nutzen Java, unter Nokias Symbian-Betriebssystem funktionieren vielen Programmiersprachen, darunter mehrere Versionen von C und C + +. Zahlreiche Entwickler beobachten diese Entwicklung und sehen eine gemeinsame Strömung: Alle Handys kommen mit Web-Browsern, die ihrerseits HTML, JavaScript und CSS beherrschen. Palms neuer Pre zielt sogar darauf ab, dass Anwendungen gleich für den Browser geschrieben werden.

Warum also nicht mit etwas Einfachen anfangen, das in den Programmiersprachen geschrieben wird, die jeder Web-Entwickler beherrscht? Einer textbasierten Präsentation kann man zum Beispiel ein spezielles Markup hinzufügen, dass das iPhone die Website so installieren lässt, als ob sie eine normale Anwendung wäre. Dieser Code funktioniert dann auch auf anderen WebKit-fähigen Browsern wie dem in Android; auch ist es ist nicht schwer, entsprechende Anwendungen auch auf dem BlackBerry lauffähig zu machen.

Einige Entwickler-Kits gehen über die Möglichkeiten, die ein Browser bietet hinaus, um besseren Zugang zu den tieferen Teilen der Programmierschnittstelle zu ermöglichen. Mit Appcelerator's Titanium Architektur, Nitobi's PhoneGap und LiquidGear fork von PhoneGap können Anwendungen direkt für die wichtigsten Plattformen entwickelt werden, diese beruhen aber auf einer Embedded-Version des Browsers. Die meisten Funktionen sind in JavaScript realisiert und laufen somit direkt im Browser. Der Programmcode hat Zugriff auf Sensoren und GPS, und das obwohl es JavaScript ist.

Andere portieren gängige Sprachen wie Ruby. Das Rhomobile-Tool bettet zum Beispiel einen kompletten Ruby-Interpreter und Web-Server in die Anwendung ein, sodass man alles in Ruby schreiben kann. Die Leute von Apple verlangten hier, dass die Eval-Funktion entfernt werden musste, um den vollständigen Test der Anwendungen zu ermöglichen. Aber abgesehen davon ist es wie die Erstellung einer Website in Ruby. Der Code läuft auf allen großen Plattformen.

Alle diese Ansätze sind überraschend gut - wenn man nicht auf der Suche nach superschneller Leistung und Perfektion ist. Spielentwickler können den Beschleunigungssensor mit diesen Anwendungen verwenden, aber nur für einfache, zweidimensionale Spiele, die keinen Zugang zu den tiefsten Schichten der Video-Hardware benötigen. Schriften und Layouts sind manchmal ein bisschen anders von Plattform zu Plattform, das kann lästig sein. Aber wenn Ihre Anforderungen sich in Grenzen halten und Sie mit Web-Entwicklungs-Sprachen vertraut sind, sind diese Ansätze sehr viel einfacher als das Erlernen von Objective-C.

Für die Unternehmen ist durch die Cross-Plattform-Anwendungen ein wesentliches Hemmnis für die Entwicklung und Bereitstellung mobiler Anwendungen im eigenen Haus überwunden. Es ist schwierig durchzusetzen, dass alle Mitarbeiter das gleiche Smartphone benutzen - doch selbst wenn man das tut, führt die Programmierung von Anwendungen nur für eine bestimmte Plattform irgendwann zu Unflexibilität. Cross-Plattform-Anwendungen kann man einmal schreiben - ohne sich mit Grundlagen und Macken einer bestimmten Plattform auseinandersetzen zu müssen – und sie dann auf vielen Geräten ausführen. Der weitverbreitete Einsatz von mobilen Unternehmensanwendungen könnte so endlich Realität werden.

Plätze 8 und 7: Hardware-Stromsparfunktionen und Manycore-Prozessoren

Platz 8: Hardware-Stromsparfunktionen

Wir kennen alle das Klischee der grünen IT: Man retten den Planeten und schont die Geldbörse, indem man Strom spart. Entsprechende Technologien für Server, Desktops und andere Hardware gibt es bereits. Aber in einigen Fällen ist ein wirklicher Vorteil nur zu erzielen, wenn auch von Seiten der Software bessere Entwicklungen folgen.

Effizientere Netzteile, zusammen mit Festplatten, die die Geschwindigkeit reduzieren oder sich abschalten, wenn sie nicht benötigt werden, machen das bereits jetzt möglich. Aber um inaktive Cores und Motherboards zurückzufahren, muss bei Multicore-CPUs die Steuerung grundsätzlich vom Betriebssystem oder anderer Software erfolgen.

Netzteile bieten den einfachsten Weg, um Energie zu sparen. Sie benötigen keine Software und ermöglichen einen doppelten Effekt: Bei der Umwandlung des Stroms verbrauchen Sie weniger Energie und erzeugen weniger Abwärme, was wiederum eine geringere Kühlung notwendig macht. Das 80-Plus-Zertifizierungs-Programm, von einen Elektronik-Konsortium entwickelt, ermöglicht Fördergelder für Hersteller, die Netzteile entwickeln, die eine Effizienzrate von mindestens 80 Prozent erreichen – im Gegensatz zu den alten Werten bei 50 Prozent. Das bedeutet, dass in der Regel nur die Hälfte des Stroms wirklich das Motherboard erreicht, der Rest geht in Form von Hitze verloren.

Viele Hersteller produzieren bereits Festplatten, die automatisch die Geschwindigkeit verringern können oder sich bei Nichtbenutzung ausschalten. Oft sind diese Funktionen aber softwareseitig nicht unterstützt, weil es zu lange dauert die Laufwerke wieder zu aktivieren. Es gibt drei Level bei den Energiesparzuständen, die jeweils mehr Strom sparen, aber auch mehr Zeit benötigen um wieder in den normalen Betrieb zu schalten. Man könnte sagen: langsam, langsamer, aus. Das erste Level braucht 1 bis 2 Sekunden, das zweite weniger als 30 Sekunden und das dritte kann bis zum kompletten Hochfahren bis zu zwei Minuten brauchen. Diese Anlaufzeiten verursachen Probleme mit den meisten Anwendungen, was der Grund für die häufig anzutreffende Deaktivierung entsprechender Funktionen ist.

Windows 7 und Windows Server 2008 unterstützen eine neue CPU-Stromsparfunktion (Core Parking): Cores die bei geringer Last nicht benötigt werden, schalten sich ab. Besonders sinnvoll ist das für Server, die zwar oft stark belastet werden, außerhalb bestimmter Hauptzeiten aber wesentlich weniger Leistung bringen müssen. Prozessoren mit zwei, vier, sechs oder acht Cores können alle nicht genutzten Prozessoren ausschalten und trotzdem auf Anfragen reagieren. Die Aktivierung der weiteren Cores ist sofort möglich, wenn die Rechenleistung der aktiven Prozessoren nicht mehr ausreicht.

Motherboards und Add-ons wie Netzwerkinterface-Karten bieten neuerdings die Möglichkeit, Komponenten abzuschalten, wenn sie nicht in Gebrauch sind. Einige Motherboards, insbesondere Laptop-Systemen, unterstützen etwa zwei unterschiedliche Video-Systeme: eines ist eine in das Motherboard integrierte Lösung, das andere eine richtige Grafikkarte. Wenn eine schnelle Grafikleistung nicht benötigt wird, wird die Grafikkarte deaktiviert und der Computer arbeitet Strom sparend mit der integrierten Grafik. Wenn Anwendungen mehr Grafikleistung anfordern, schaltet sich die Grafikkarte zu.

Netzwerkkarten können sich abschalten, wenn das Netzwerk nicht in Betrieb ist und auch andere Komponenten nutzen vergleichbare Funktionen. Aber bis diese Funktionen durch die Betriebssysteme umfassend unterstützt werden - und in einigen Fällen durch bestimmte Anwendungen – sind sie aber nur von geringem Nutzen. Es ist toll eine Netzwerkkarte zu haben, die sich ausschaltet - aber man braucht eben auch ein Betriebssystem, das das Ding wieder einschaltet.

Platz 7: Manycore-Prozessoren

Die wichtigsten Anbieter von Prozessoren haben das Limit der Taktfrequenz erreicht. Jede weitere Steigerung benötigt sehr viel zusätzliche Energie. Jeder echten Leistungsschub erzeugt dann den Wärmeausstoß und benötigt die Wattleistung von, sagen wir, einem Bügeleisen.

Aus diesem Grund haben die Hersteller aus einer einspurigen Straße eine mehrspurige Autobahn gemacht. Nicht nur ein einzelner, schneller Kern, sondern mehrere Kerne, die parallel arbeiten. Ein rasantes Tempo ist nicht mehr der heilige Gral der IT. Stattdessen ist es der Gesamtdurchsatz.

Chips mit mehreren Kernen verbrauchen weniger Energie, erzeugen weniger Wärme und arbeiten besonders effizient. Auf Servern sind sie genau das, was die IT-Brache braucht. Heute zum Beispiel verfügt ein Nehalem-Prozessor von Intel über vier Kerne, von denen jeder zwei Threads gleichzeitig ausführen kann – so können auf einem günstigen Quad-Prozessor-System 32 Threads gleichzeitig ablaufen. Vor fünf Jahren konnten das nur High-End-Server oder Großrechner. Heute ist es Normalität.

Multicore-Chips haben weniger Auswirkungen auf den Desktop-Bereich, weil Anwendungen fehlen, die die Ressourcen wirklich sinnvoll parallel nutzen. Ganz zu schweigen vom Mangel an qualifizierten Programmierer, die sich mit Multithread-Desktop-Software beschäftigen. Das ändert sich jedoch gerade, vor allem bei Workstation-Anwendungen und bei Grafik-Anwendungen für Power-User.

Im nächsten Jahrzehnt wird es eine explosionsartige Vermehrung der Kerne in den neuen Chips geben. Diese Ära, genannt "Manycore" (ein Begriff, der sich auf mehr als acht Kernen bezieht), wird in Kürze eingeläutet. Intel zum Beispiel hat bereits funktionsfähige Demos von einem Chip gezeigt (Tera-Scale-Projekt) der 80 Kerne enthält und 1 Teraflop bei einem Verbrauch von nur 62 Watt bietet. (Zum Vergleich: Ein System, das eine Leistung von 18 Teraflops hat, würde sich für die aktuelle Liste der Top-500-Supercomputer qualifizieren.)

Nicht-x86-Prozessoren sind auch an dieser Entwicklung beteiligt. Zum Beispiel Tilera verkauft derzeit einen 16-Core-Chip und hat angekündigt, dass ein 100-Core-Monster schon 2010 ausgeliefert werden kann. Was macht die IT-Branche mit so vielen Kernen? Im Falle von Tilera werden die Chips für Videokonferenz-Ausrüstungen verwendet, die mehrere simultane Video-Streams in HD-Qualität möglich machen. Im Falle von Intel ermöglichen die neuen Prozessoren den Unternehmen neue Formen der Computernutzung, etwa könnten Grafikberechnungen direkt im CPU stattfinden. Auf Servern wird die Manycore-Ära enorme Skalierbarkeit ermöglichen und eine Plattformen bieten, auf der leicht Hunderte von virtuellen Maschinen auf Hochtouren arbeiten können.

Die Manycore-Ära - die sich sicher irgendwann zur Kilo- und Megacore-Epoche voranschreiten wird - wird es uns ermöglichen, selbst unglaublich rechenintensive Anwendungen mit Leichtigkeit auszuführen und das zu geringen Kosten. Wahres Supercomputing wird somit auch auf preiswerten PCs möglich.

Plätze 6 und 5: Solid State Drives und NoSQL-Datenbanken

Platz 6: Solid State Drives

SSDs (Solid-State-Laufwerke) kennt man schon seit dem letzten Jahrhundert, aber vor Kurzem haben wir eine Explosion von neuen Produkten und einem dramatischen Rückgang der SSD-Preise erleben dürfen. In der Vergangenheit wurden die SSDs vor allem für Anwendungen verwendet, die die höchstmögliche Leistung zu verlangen. Heute werden Sie immer vielseitiger eingesetzt, etwa als externer Zwischenspeicher, um die Leistung von Anwendungen zu verbessern. Betrachtet man jedes einzelne Gigabyte, sind SSDs noch viel teurer als die klassische Festplatte - aber sie sind billiger als der interne Server-Speicher.

Im Vergleich zu Festplatten sind SSDs nicht nur schneller (beim Schreiben und Lesen), sie unterstützen auch höhere Übertragungsraten und verbrauchen weniger Strom. Auf der anderen Seite haben SSDs eine begrenzte Lebensdauer, da jede Zelle in einer SSD nur eine begrenzte Anzahl von Schreibvorgängen erlaubt.

Es gibt zwei Arten von SSDs: Single-Level (SLC) und Multilevel (MLC). SLCs sind schneller als MLCs und halten zehnmal länger (und, wie Sie sich vorstellen können, kostet sie viel mehr). Die Ausdauer bei dauerndem Schreibzugriff war bisher eine große Bremse für den Durchbruch des SSDs. Aber die Verbesserung dieser Werte und die Ausnutzung von eingebautem DRAM-Cache machen diese Laufwerke immer attraktiver. Einige Hersteller erhöhen die Lebensdauer der Laufwerke, indem Sie mehr als die angegebene Kapazität einbauen und mit bestimmten Algorithmen die Daten auf die zusätzlichen Zellen verteilen.

Die Preisentwicklung hat aber die größte Schubkraft auf diesem Markt. Ein 32-GB-SSD hat vor fünf Jahren ungefähr 1000 Euro gekostet, heute sind es unter 100 Euro. Obwohl dies immer noch etwa 46 mal so teuer ist wie ein SATA-Laufwerk (in Euro pro Gigabyte), ist der Preisverfall immens. SSDs werden gerade bei den zukünftigen Technologien (etwa Cloud Computing) eine wichtige Rolle spielen. Insbesondere wenn die aktuellen Probleme, etwa die fehlende Langlebigkeit, gelöst werden, steht dem Durchbruch nichts mehr im Wege.

Platz 5: NoSQL-Datenbanken

Der Datenstrom ist überall und so groß wie nie zuvor. Und die Zeiten, in denen "SQL" und "Datenbank" gleichbedeutend waren, verblassen schnell. Zum Teil, weil die alten Datenbankstrukturen nicht angemessen mit der Flut von Daten aus Web-2.0-Anwendungen umgehen können.

Die größten Websites spucken Terabytes an Daten aus, die wenig Ähnlichkeit mit den Zeilen und Spalten von Zahlen aus der Buchhaltung haben. Stattdessen werden die Details des Website-Verkehrs in Dateien gespeichert und durch Cron-Jobs spät in die Nacht ausgewertet. Zur Nutzung und Auswertung dieser Daten braucht man geeignete Verfahren - dazu wäre auch eine herkömmliche Datenbank in der Lage, wenn sie nicht so überladen mit Mechanismen wäre, die die Daten letztlich als konsistente „Masse“ belässt.

Sicher, man kann alles anpassen und mit viel Arbeit in eine relationale Datenbank pressen, aber das bedeutet gleichzeitig, dass Sie für anspruchsvolle Mechanismen bezahlen, die eigentlich für die Buchhaltung entwickelt wurden. Wenn bestimmte Daten nicht die besonderen Funktionen der Top-Datenbanken benötigen, dann gibt es auch keinen Grund, für diese Leistung Geld auszugeben und die Konsequenzen (Anforderungen) der dafür benötigten Strukturen auf sich zu nehmen.

Die Lösung? Entkommen sie diesen oft ungewollten Zwängen und folgen Sie einem neuen Ansatz: NoSQL. Einfache NoSQL-Datenbanken arbeiten mit einfachen Schlüssel-Wert-Paaren, die durch Attribute verbunden werden. Es gibt keine Tabelle mit leeren Spalten und keine Problem damit, neue Ad-hoc-Tags oder Werte zu den Elementen hinzuzufügen. Transaktionen sind optional.

Die heutige NoSQL-Lösungen umfassen Project Voldemort, Cassandra, Dynamite, HBase, Hypertable, CouchDB und MongoDB. Es scheinen jeden Tag neue hinzuzukommen. Jeder Ansatz bietet auf leicht unterschiedliche Weise Zugang zu den Daten. CouchDB zum Beispiel erfordert, dass die Suchanfrage als einen JavaScript-Funktion geschrieben wird. MongoDB nutzt „Sharding“, eine große Datenbank wird von Anfang an in Teilstücke zerlegt und über mehrere Server verteilt.

Einfache Schlüssel-Wert-Paare sind nur der Anfang. Neo4J zum Beispiel bietet eine grafische Datenbank, die Abfragen wie in einem Netzwerk ermöglicht. Wenn Sie die Namen aller Hunde der Freunde eines Freundes erfahren wollen, benötigt die Abfrage nur ein paar Zeilen Code.

Das Anspruchsvolle ist es, die erforderlichen Funktionen zu erhalten und diejenigen auszuschließen, die man nicht benötigt. Project Cassandra zum Beispiel folgt dem "eventually consistent"-Modell. Neo4J erfordert die Erweiterung Lucene oder ein anderes Indizierungs-Paket, wenn Sie Daten nach Namen oder nach Inhalten durchsuchen wollen, weil Neo4J nur dafür ausgelegt ist, das Netzwerk selbst zu durchsuchen.

Alle diese neuen Projekte sind die neusten Versuche, durch die Abkehr von zu hohen Anforderungen wieder einfach hohe Geschwindigkeiten in Datenbanken zu ermöglichen. Schauen Sie sich hier auch nach speziellen Anpassungen um, die die entsprechenden Regeln vereinfachen und gleichzeitig die Abwärtskompatibilität und einfache Bedienung ermöglichen. Sie dürfen eine neue Ära der Datenverarbeitung erwarten, die wie nichts ist was wir zuvor erlebt haben.

Plätze 4 und 3: I/O-Virtualisierung und Datendeduplizierung

Platz 4: I/O-Virtualisierung

I/O-Virtualisierung (Input/Output-Virtualisierung) behebt ein Problem, das Server mit Virtualisierungs-Software wie VMware oder Microsoft Hyper-V plagt. Wenn eine große Anzahl von virtuellen Maschinen auf einem einzigen Server läuft, wird der I/O zu einem kritischen Engpass, sowohl für VM-Kommunikation mit dem Netzwerk, als auch für den Anschluss von VMs an den Speicher des Backends. I/O-Virtualisierung erleichtert nicht nur die Bandbreite auf einem einzigen Server über mehrere VMs zu verteilen, sondern sie ebnet auch den Weg zur dynamischen Verwaltung der Verbindungen zwischen den Pools von physischen Servern und Storage-Pools.

Aber fangen wir mit den einzelnen Servern an. Nehmen wir zum Beispiel die Empfehlung von VMware, nach der man einen Gigabit-Ethernet-Anschluss pro VM zuteilen sollte. Ein Server, der 16 VMs unterstützt, würde also vier Vier-Port-Gigabit-Ethernet-Netwerkkarten, plus zusätzliche Ethernet (iSCSI), SCSI oder Fibre-Channel-Adapter für den notwendigen Speicherplatz benötigen. Viele Server haben nicht genügend leere Steckplätze, um so viele Adapter aufzunehmen, auch wenn die Kühlleistung grundsätzlich ausreichen würde. Und 16 VMs pro Host ist kaum das Maximum, wenn man bedenkt, dass die heutige Intel- und AMD-Server zwischen 8 und 24 Kernen haben und Hunderte Gigabyte RAM unterstützen. Da ist auch heute noch Spielraum nach oben.

Als Reaktion haben die Anbieter von I/O-Virtualisierung, wie Xsigo und Cisco, eine Möglichkeit gefunden, Server mit einer High-Speed-Verbindung statt mit mehrerer Ethernet- und Fibre Channel-Verbindungen zu versorgen. Ein Adapter pro Server ist dann für viele virtuelle Verbindungen zuständig. Diese Adapter sind keine benutzerdefinierten HBAs, sondern Standard-10-Gigabit-InfiniBand- oder Ethernet-Adapter mit Treibern, durch die das Betriebssystem die einzelnen schnellen Verbindung als multiple Netzwerk- und Storage-Verbindungen nutzen kann. Da alles über eine einzige Leitung läuft, kann das System immer flexibel die benötigte Bandbreite für die virtuellen Verbindungen zur Verfügung stellen und bietet deshalb die maximal benötigte Leistung immer genau da, wo sie benötigt wird.

Normalerweise befindet sich dann ein einzelner Adapter in jeden Server, der mit einem einzigen Kabel an das Gerät oder den Switch angeschlossen ist, der dann sowohl Netzwerk-, als auch Storage-Ports für Verbindungen zu anderen Netzwerken oder den Speichern bedient. Dies vereinfacht die Verkabelung in Rechenzentren ungemein und macht die Installation der einzelnen Server unkomplizierter. Wenn ein Server ausfällt, können die Adapter schnell für ein anderes System verwendet werden. In Lösungen wie UCS von Cisco macht die I/O-Virtualisierung die Bereitstellung, Einbindung und Ausfallsicherung von Servern extrem flexibel und solche Aufgaben können möglicherweise vollständig automatisiert werden, da die Steuerung durch die Software erfolgt. Weil die I/O-Virtualisierung für die Multiple-Ethernet- oder Fibre-Channel-Verbindungen unterschiedliche Geschwindigkeiten emulieren kann, kann die verfügbare Bandbreite schnell auf die Anforderungen der VM je nach Lastverteilung oder auch auf Veränderungen bei einer Migration reagieren.

Die I/O-Virtualisierung benötigt Treiber, die das jeweilige OS unterstützen. Die gängigen Betriebssysteme und Virtualisierungs-Plattformen werden unterstützt, einschließlich VMware ESX und Windows Server 2008 Hyper-V. Aber nicht unbedingt alle Versionen von Linux und Xen oder andere Open-Source-Virtualisierungs-Plattformen sind kompatibel. Wenn Sie Betriebssysteme verwenden, die unterstützt werden, kann die I/O-Virtualisierung das Betreiben eines großen Rechenzentrums viel einfacher und weniger teuer machen. Vor allem die erhöhte Rechenleistung und die erweiterte Speicher-Unterstützung ermöglicht es, auf Servern die Zahl der virtuellen Maschinen zu erhöhen.

Platz 3: Datendeduplizierung

Die Daten sind die Lebensader jedes Unternehmens. Das Problem ist, wie man mit ihnen umgeht. Laut IDC verdoppeln sich die Daten der Unternehmen alle 18 Monate, was die Speichersysteme teilweise bis an ihr Maximum belastet. Schuld an dieser Entwicklung ist die Vorratsspeicherung. Hier ist wesentlich, dass es kein Ablaufdatum für die einzelnen Daten gibt, da die Analyse der Daten aus den vorherigen Jahren zum erstellen von Prognosen und Aufdecken von Trends benötigt werden.

Es müsste eine Möglichkeit geben, die enormen Speicheranforderungen all dieser Daten zu reduzieren, ohne dabei nützliche Informationen zu verlieren. Und die gibt es dank einer Technologie, die als Datendeduplizierung bekannt ist.

Jedes Netzwerk enthält Unmengen von doppelten Daten, von identischen Backup-Daten, Tausenden Kopien eines Handbuchs, bis hin zu identischen Dateianhängen auf dem selben E-Mail-Server. Die Grundidee der Datendeduplizierung ist, doppelte Kopien der gleichen Datei zu suchen und alle außer dem Original zu beseitigen. Jedes Duplikat wird durch einen einfachen Platzhalter-Hinweis auf die Originaldatei ausgetauscht. Wenn der Benutzer eine Datei anfordern, leiten die Platzhalter sie an das Original weiter und in der Handhabung ist kein Unterschied ersichtlich. So können redundante Daten aufgespürt und überflüssig gemacht werden.

Deduplizierung gibt es in verschiedenen Formen, von der einfachen Datei-Erkennung bis hin zu fortgeschrittenen Methoden der Suche direkt in Dateien auf Block- oder Byte-Ebene. Grundsätzlich funktioniert Deduplizierungssoftware durch die Analyse von Daten, sei es ein Block, eine Reihe von Bits, oder die gesamte Datei. Durch einen Algorithmus erhalten die einzelnen Daten einen eindeutigen Hashwert. Wenn ein Hashwert bereits im Index ist, heißt das, dass diese Daten nicht erneut gespeichert werden müssen. Wenn nicht, wird der Hash in den Index aufgenommen. So geht es dann immer weiter.

Datendeduplizierung ist nicht nur für die Daten eines Datei- oder E-Mail-Systems angelegt. Die Vorteile für Backups, insbesondere im Hinblick auf die Wiederherstellung bei völligem Datenverlust, sind massiv. Der Prozentsatz der täglich geänderten Daten ist relativ gering. Bei der Übertragung eines Backups über das WAN gibt es wirklich keine Notwendigkeit, täglich die gleichen Bytes zu sichern, Nacht für Nacht. Durch die Verwendung der Deduplizierung reduzieren Sie die Größe der Sicherung erheblich. Die Ausnutzung der WAN-Bandbreite geht zurück und die Back-up-Möglichkeiten werden schneller und komfortabler.

Mehr und mehr Backup-Produkte nutzen die Vorteile der Deduplizierung und die entsprechenden Geräte und die Technik wurde in den vergangenen Jahren immer besser. Deduplizierung für das ganze Dateisystem ist ebenfalls auf einem guten Weg. Wenn es um die Lösung der drückendsten IT-Problemen geht, bieten nur wenige Technologien mehr Aussicht auf eine umfassende Problemlösung als die Datendeduplizierung.

Plätze 2 und 1: Desktop-Virtualisierung und MapReduce

Platz 2: Desktop-Virtualisierung

Desktop-Virtualisierung scheint es in der einen oder anderen Form schon ewig zu geben. Man könnte vielleicht sogar sagen, dass sie schon Mitte der 1990er-Jahre aufgekommen ist. Aber es gibt neue Entwicklungen bei der Desktop-Virtualisierung, die sich die meisten von uns noch vor zwei oder drei Jahren nicht hätten vorstellen können. Ein weiterer Meilenstein ist die aufkommende Technologie unter dem zusammenfassenden Begriff Desktop-Hypervisor.

Die Produkte des Marktführers auf diesem Gebiet, Citrix Systems XenApp und XenDesktop, sind Beispiele dafür, wie Desktop-Virtualisierung eine Desktop-Server-Farm in jedem Rechenzentrum unterbringen kann und einen Client auf jedem Desktop. XenDesktop verbindet alle gängigen Desktop- und Anwendungs-Virtualisierungs-Technologien in einem einzigen Paket: traditionelle Anwendungs- und Desktop-Sessions, Anwendungs-Streaming und VDI (Virtual Desktop Infrastructure). Egal welchen Weg Sie nehmen, die Nachteile der einzelnen Technologien werden in der Regel durch die Vorteile einer anderen aufgehoben.

Die Client-Virtualisierung ist bei der Desktop-Virtualisierungs die letzte Instanz. Bei dieser Virtualisierung werden in einem Host individuell konfigurierte Betriebssysteminstanzen für die einzelnen Anwender bereitgestellt. Jeder Anwender arbeitet also in einer eigenen virtuellen Systemumgebung, die sich wie ein vollständiger lokaler Computer verhält. Man kann dann jede beliebige VM und ihre Hardwareressourcen auf dem eigenen Desktop verwenden. Wenn etwas nicht funktioniert führt man einfach einen Reset aus oder nimmt eine andere Umgebung. Citrix ist nicht allein mit diesem Konzept, VMware entwickelt eine ähnliche Lösung. Beide geben an, dass der Startschuss bereits 2010 fällt.

Unabhängig davon, welche Lösungen heute schon zur Verfügung stehen und welche Lösungen langsam am Horizont sichtbar werden - Desktop-Management bleibt einer der problembelastetsten Bereiche jedes Unternehmens. Während das Modell für die Architektur von Rechenzentren sich systemisch verändert hat in den vergangenen 20 Jahren, ist das Modell für die Bereitstellung von Desktops fast gleich geblieben. Meistens handelt es sich in Unternehmen noch immer um einen schwerfälligen Rechner pro Benutzer, der mit einem Mischmasch von Management-Tools die Nutzer vor sich selbst und das Netzwerk vor den Benutzern schützt.

Ob die Desktop-Virtualisierungstechnologien sich für Ihr Unternehmen lohnen, ist völlig abhängig von der Art des Geschäfts. Im Call-Center und im Gesundheitswesen ist die Umsetzung in vielen Fällen eher ein Kinderspiel, in anderen Bereichen kann man schnell Probleme mit nicht kompatiblen Anwendungen haben. Das riesige Angebot an verschiedenen Desktop-Virtualisierungs-Technologien lässt erwarten, dass sich zumindest einer dieser verschiedenen Ansätze bald durchsetzen wird. Wenn man den klassischen Desktoprechnern auf jedem Schreibtisch den zu Rücken zukehrt, wird die IT ein glücklicherer Ort, das ist gewiss. Die Client-Virtualisierung könnte der IT-Branche und den eifrigsten Desktop-Verfechtern das geben, was sie schon lange brauchen.

Platz 1: MapReduce

Warum in aller Welt würde man ein Programmierungs-Framework als wichtigste neue Technologie des Jahres 2009 wählen? Ganz einfach: Weil MapReduce Unternehmen die Analyse von ungeahnten Mengen von Daten zu moderaten Preisen ermöglicht. Das verspricht eine ungeahnte Veränderung der Business-Welt.

IDC hat eine Verzehnfachung der digitalen Informationen zwischen 2006 und 2011 von knapp 180 Exabyte auf 1800 Exabyte vorausgesagt (das sind 1 Billion und 800 Milliarden Gigabyte!). Diese Explosion ist natürlich eine Herausforderung (diese Daten müssen gespeichert, abgerufen und archivieren werden), aber auch eine große Chance für Unternehmen. Denn dieses Meer von Informationen bietet potenzielle Informationen im Überfluss - Informationen, die genutzt werden können, um richtige unternehmerische Entscheidungen zu treffen.

Bis vor kurzem brauchten Unternehmen, die Petabyte von individuellen Daten verarbeiten wollten, um die für das Geschäft relevanten Informationen zu filtern, einen sehr guten Grund, um in ein solches solchen Vorhaben viel Geld zu investieren; der Kosten- und Zeitaufwand war immens. Aber das verändert sich gerade schnell, weil sich langsam die Anwendung anderer Methoden, vornehmlich ist MapReduce zu nennen, durchzusetzen beginnt. Das ist ein Framework, das Seiten wie Google, Facebook, MySpace und anderen ermöglicht hat, enorme Datenmengen effektiv zu nutzen. Basierend auf einer funktionalen Programmierung können mit Hilfe tausender Rechnerknoten enorme Datenmengen verarbeitet werden.

In seiner einfachsten Form teilt MapReduce die Prozesse in viele kleine Blöcke, verteilt sie in einem Cluster von Rechenknoten (in der Regel Allerweltsserver) und fügt die Ergebnisse wieder zusammen. Durch die Unterstützung hoch-flexibler paralleler Verarbeitung ist MapReduce schnell, günstig und sicher. Wenn ein Knoten ausfällt, ist der Verlust auf die Leistung des einzelnen Knotens beschränkt.

Google führte das MapReduce Framework im Jahr 2004 ein, aber es gibt heute viele neue Implementierungen, darunter Apache Hadoop, Qizmt, Disco, Skynet und Greenplum. Apache Hadoop ist die führende Open-Source-Ausführung. Amazon nutzt Hadoop um MapReduce für den Amazon Web Service (auf der deutssprachigen Website von Amazon wird dieser Service bisher noch nicht angeboten). Cloudera, die ihr Angebot als "Apache Hadoop für Unternehmen" anpreisen, machen ebenfalls bedeutende Fortschritte.

Zukunft der Arbeit
Wie wollen wir in Zukunft arbeiten?
neue Antworten auf diese Frage suchten 28 Absolventen aus aller Welt in Berlin. Sechs Wochen lang dauerte der Workshop "Palomar 5". Foto: Palomar 5/ Carolin Seeliger
Sie haben Palomar 5 organisiert:
Philippa Pauen, Dominik Wind, Jonathan Imme, Hans Raffauf, Simon Wind, Mathias Holzmann (von links nach rechts)
600 Menschen aus aller Welt haben sich beworben....
....28 Absolventen, die unter anderem an Eliteuniversitäten in Harvard, Oxford oder Princeton studierten, wurden schließlich nach Berlin eingeladen. Foto: Carolin Seeliger
Denken ohne Grenzen
Sechs Wochen lebten die Kreativen in einer alten Berliner Malzfabrik und entwarfen Konzepte für ein neues Arbeiten. Foto: Norbert Ittermann
Nur der Schlafplatz war begrenzt.
Jeder Teilnehmer musste sich in einer drei Quadratmeter großen Koje aus Spanbretter betten. Foto: Norbert Ittermann
Ansonsten boten die einstigen Fabrikräume...
viel Platz für die Suche nach Ideen. Foto: Norbert Ittermann
Teamarbeit ohne Grenzen...
...ist für die jungen Generation ganz wichtig. Im Workshop praktizierte sie sie auch täglich.Foto: Norbert Ittermann
Rückzugsorte...
...fanden sich natürlich trotzdem. Foto: Carolin Seeliger
Achtung Auftritt..
..hieß es beim Abschlussgipfel, als alle Teams ihre Ideen präsentierten. Darunter ein mobiles Holodeck für mehr Entspannung im Arbeitsalltag (The Egg). Foto: Carolin Seeliger
300 Gäste aus Wirtschaft, Wissenschaft, Politik und Kultur.
..hörten sich die Ideen der jungen Wilden an, die anders arbeiten wollen. Ohne Hierarchien, ohne feste Arbeitszeiten und nicht in Konzernen. Foto: Carolin Seeliger

Unterstützung für MapReduce-Programmierung wird von verschiedenen Business-Software-Produkten wie GigaSpaces eXtreme Application Platform, GridGain Cloud Development Platform, IBM WebSphere eXtreme Scale und Oracle Coherence angeboten; um nur einige zu nennen.

Das unaufhaltsame Anwachsen der Datenflut ist eine Tatsache. Weil die Anbieter MapReduce mittlerweile in Ihre Angebote mit einbeziehen, gibt es neue Perspektiven bezüglich dieser genannten Petabytes an Daten. Es ist schwierig, sich heute vorstellen zu können, wie die Geschäftswelt vor 30 Jahren ohne die Vorteile von Business-Intelligence-Software oder sogar ohne Tabellen funktionieren konnte. Wenn MapReduce ein Teil der Unternehmenskultur wird, werden Business-Strategen in nicht allzu ferner Zukunft möglicherweise auf die heutige Zeit genauso zurückblicken.

Dieser Beitrag basiert auf einem Artikel der CW-Schwesterpublikation PC-Welt. (sh)