Enterprise Tales

It’s the Cloud Era!

Lars Röwekamp und Matthias Weßendorf

Im heutigen „Cloud-Zeitalter“ versuchen zahlreiche Hersteller (neue und etablierte) noch eben schnell auf den bereits rasenden Zug aufzuspringen. Infrastrukturanbieter sind der Trend von gestern – heute möchte jeder ein Platform-as-a-Service- (PaaS-)Anbieter sein. Auch die Apache Software Foundation bietet viele Softwareprojekte an, die häufig hinter den Kulissen eingesetzt werden. Wir stellen ein paar dieser Projekte vor.

Apache Hadoop

Das Apache-Hadoop-Projekt [1] ist sicherlich das Flaggschiff der ASF im Bereich Highscale/Cloud-Computing. Kern von Hadoop ist eine freie Implementierung von Goolges MapReduce-Forschungspapier [2]. MapReduce ist vereinfacht gesagt ein Framework, bzw. Programmiermodell, zur effizienten Verarbeitung von extrem großen Datenmengen in einem Cluster/Rechenzentrum. Wer das Apache Hadoop Framework auf Mietbasis, also als klassisches PaaS-Angebot, nutzen möchte, wird bei Amazon [3] oder auch bei der Deutschen Firma Zillion-One [4] fündig.

Im Zusammenhang mit Hadoop darf man ebenfalls sein verteiltes Netzwerk-Dateisystem [5] nicht vergessen. Das Hadoop Distributed File System ist ebenfalls eine freie Implementierung eines Forschungspapiers von Goolge, dem Google File System [6]. Aus dem Hadoop-Umfeld heraus entstanden weitere Projekte, die ursprünglich als Unterprojekte innerhalb der Hadoop-Community gepflegt wurden. Mittlerweise sind diese einzelnen Projekte, bzw. deren Communities, so groß, dass sie eigenständige Apache-Projekte sind.

Apache HBase

Eines dieser eigenständigen Projekte ist Apache HBase. Auch hier wurde ein Google-Papier – Google’s BigTable [7] – auf Basis von Open Source umgesetzt. Apache HBase ist eine verteilte NoSQL-Datenbank, die auf die Speicherung von großen Datenmengen spezialisiert ist. Ein Einsatz von HBase oder anderen BigTable-Implementierungen ist dann empfehlenswert, wenn die zu verwaltenden Datensätze selten geändert werden, aber extrem oft neue Einträge hinzukommen. Das Stichwort ist hier: „User generated Content“. Google nutzt die eigene BigTable-Implementierung für viele seiner Dienste. Beispiele sind u. a. das Videoportal Youtube oder auch die „Datenbank“ für das „AppEngine“-PaaS-Angebot. Und auch Apache HBase wird bei vielen neuen Internetfirmen, wie beispielsweise StumbleUpon [8], für die Datenspeicherung eingesetzt.

Apache Lucene

Ursprünglich begann die Entwicklung von Hadoop und damit auch die von Projekten wie HBase innerhalb des Suchmaschinen-Projekts Apache Lucene. Die Lucene Committer um Doug Cutting wollten sich die Eigenschaften von Googles MapReduce-Papier zu Nutze machen, um die Skalierung der Lucene-Suchmaschine deutlich zu verbessern. So entstand das (Hadoop) MapReduce Framework. Aber auch die Lucene-Suchmaschine wird in vielen High-scale-Projekten eingesetzt, wie beispielsweise im Rechenzentrum von Twitter [9]. Die Suchmaschine indiziert sämtliche Tweets in (nahezu) Echtzeit, sodass sie bereits fünf Sekunden später durch die Suchanwendung von Twitter aufrufbar sind.

Cloud APIs

Neben reinen Infrastrukturkomponenten gibt es verschiedene Projekte innerhalb der ASF, die sich um die herstellerunabhängige Nutzung der Cloud, bzw. ihrer Dienste, kümmert. Das Apache-Libcloud-Projekt [10] bietet ein API auf Basis der Python-Programmiersprache, um mit verschiedenen Cloud-Server-Dienstleistern, wie Amazon oder Rackspace, über eine einheitliche Schnittstelle zu kommunizieren. Der Vorteil liegt auf der Hand: Die Entwickler müssen lediglich ein „Standard-API“ kennen, statt sich auf herstellerspezifische Details zu konzentrieren. Im Apache Incubator reifen aktuell zwei weitere Projekte heran, die ebenfalls „Cloud APIs“ bereitstellen: Apache Whirr [11] und Apache Deltacloud [12]. Der Fokus von Whirr liegt derzeit auf Apache Hadoop/HBase, sowie Apache Cassandra. Das API bietet einen einfachen Weg, um beispielsweise ein Cassandra-Cluster bei einem Cloud-Dienstleister aufzusetzen. Das ursprünglich von Red Hat entwickelte Apache-Deltacloud-Projekt bietet ebenfalls ein einheitliches (REST) API für die Kommunikation mit verschiedenen Cloud-Infrastrukturanbietern.

Ausblick und Fazit

Neben den knapp vorgestellten Projekten gibt es noch einige weitere, die ideal für Coud Computing und High-Scale-Projekte einsetzbar sind. Erwähnenswert ist z. B. der Management Service Apache Zookeeper [13] oder der in Erlang geschriebene NoSQL Storage Apache CouchDB [14]. Die Apache Software Foundation bietet dabei verschiedensten Communities einen Raum, um ihre kreativen Ideen zu entwickeln. Gerade das beschriebene „Cloud APIs“-Thema zeigt, dass auch unterschiedliche Projekte einen ähnlichen Ansatz wählen können. Apaches Innovationsschub ist gerade im Umfeld des Cloud Computing enorm. Gewinner sind die Nutzer – und damit auch die Cloud-Dienstleister – die gerne auf Apache-Projekte zurückgreifen. Es muss halt nicht immer nur der Apache Tomcat sein. Wobei auch der Tomcat gerade im Java- (Enterprise-)Cloud-Umfeld einen großen Anteil besitzt [15].

Lars Röwekamp ist Geschäftsführer der open knowledge GmbH und berät seit mehr als zehn Jahren Kunden in internationalen Projekten rund um das Thema Enterprise Computing (Twitter: @mobileLarson).

Matthias Weßendorf arbeitet für die Firma Kaazing. Dort beschäftigt er sich mit WebSocket, HTML5 und weiteren Themen rund um das „Next Generation Web“. Matthias bloggt regelmäßig auf http://matthiaswessendorf.wordpress.com (Twitter: @mwessendorf).

Geschrieben von
Lars Röwekamp und Matthias Weßendorf
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.