Sie sind auf Seite 1von 108

DIE ZEITSCHRIFT FR LINUX-PROFESSIONALS

25
0.
A
US
G
A
BE

08/15

Alternative VPNs mit


Groupware
Peer-to-Peer-Chic
Tinc, Freelan, Ipop und Zero Tier bauen
Overlay-Verbindungen und Tunnel auf S. 44

Mozilla Rust 1.0

Mit Elan und Venture Capital: Statisch getypte Sprache,


Freie Davids kmpfen gegen die Wert auf Schnelligkeit
Exchange und Notes S. 58 und Sicherheit legt S. 84

Apache-Land
Eine fesselnde Exkursion ins ausgedehnte
Reich der Apache Software Foundation
Erfolg ohne Bros: Das Geheimnis der Apachen S. 18
Hadoop 2 und Apache Spark S. 22
Apache

Aurora steuert Infrastrukturdienste S. 26
Jmeter:

Konkurrenzarmer Spezialist fr Lasttests S. 30
Tuning-Guide

fr den Apache Webserver S. 36
Clouds

in der Wste: Open-StackProjekt schickt Sahara vor S. 66


Zentral konfigurieren:
Was Etcd, Consul und Zookeeper
taugen S. 72

Perl-Autor Mike Schilli verheddert sich fast in einer vermeintlich trivialen Mathe-Aufgabe S. 92
www.linux-magazin.de

Deutschland

4 6,40

sterreich

4 7,05

Schweiz

sfr 12,80

Benelux

4 7,50

Spanien

4 8,30

Italien

4 8,30

4 192587 306401

08

08/2015

Kein Wunder, denn in dem Moment, indem der Korken von der vernetzten Flasche
springt, stellt ein Sensor eine Verbindung zu einem Empfnger im Audio- und Videosystem des Austragsungsortes her und lsst ein interaktives Ton- und Bilderlebnis aus, das von jedem Luxus-Nachtclub, der dieses Angebot nutzt, persnlich Jan Kleinert, Chefredakteur
angepasst werden kann. Solch gediegene Transparenz der oberen Zehntausend
wnscht sich der schnde Biertrinker schon lange. Da aber die Innovationen der Formel 1 ein paar Jahre spter
auch die Kompaktklasse erreichen, sind fr normalverdienende Smart-Homiker Hopfen und Malz nicht verloren.
Den neuesten Transparenztrend stt, ja: richtig gelesen, der Bauernverband von Mecklenburg-Vorpommern
an. In Sachen Urbanitt etwas peripher positioniert, betritt er mit Gummistiefeln mediales Neuland, indem er
aus einem Saustall Livebilder via Satellit ins Internet bertrgt. Schweine-TV heit das Format ungewollt
vieldeutig. Welche fette Sau am Ende die Big Brother Show gewinnt, kann niemand wissen. Der bauernschlaue
Verband aber darf sich als Erfinder eines hippen Drei-Buchstaben-Trends fhlen: IoA, Internet of Animals.
Technisch und rechtlich ungleich schwerer tut sich der Trend Internet of People (IoP), auch bekannt als anlasslose Vorratsdatenspeicherung. Vor Jahren vor zwei obersten Gerichten krachend gescheitert, unternimmt die
deutsche Groe Koalition einen neuen Versuch, sie gegen den Widerstand von Brgerrechtlern, Datenschtzern
und der Internetwirtschaft wieder in Kraft zu setzen (siehe Artikel ab Seite 78). IoP loggt die Aktivitten aller
Brger der Informationsgesellschaft 24x7. Das hilft zwar nachweislich nicht gegen Terroristen, die anfallenden
Daten lassen sich aber sicher nutzbringend auf andere Weise verwerten.
IoT, IoA, IoP: Ob es urologisch oder gesellschaftlich vorteilhaft ist, wenn beim ffnen einer jeden Bierflasche
deren Kronkorken einen Raspberry Pi dazu veranlasst, die zum Gerstensaft passende Pinkellichtfarbe im Klo
anzumischen, muss sich genauso erst erweisen, wie fr ein Bauern-TV-berwachtes Ferkel, das statt einer
Fernsehkarriere lieber drauen die Sau rauslassen wrde. Und ob der voll vorratsdatengespeicherte Brger die
versprochene Freiheit vor Verbrechern als so genussvoll erleben wird?
Ob berwachten Toaster, ob TV-Schwein wider Willen oder ob der rund um die Uhr abgenuckelte Brger: Strukturell interessanter als die berwachten in der schnen IoX-Welt sind die berwacher: Eventschtige Alkoholkonsumenten, Mnner, die auf Schweine starren, und Polizisten, die in Suchmasken bevorzugt alle eintippen.
Bleibt am Ende die Frage, ob sich das Stalking stoppen lsst. Schwierig, denn: Mumm muss man haben. Schwein
muss man haben. Internet und Telefon muss man haben. Biertrinker knnten ihrem Hobby in einem faradayschen
Kfig frnen, der Korkensensoren ihren Plopp-Botschafter-Status entzieht. Die recht intelligenten Schweine
werden wohl die Stall-Webcam durch geschickt geworfene Exkremente blind machen. Dem dauerverpetzten
IoP-Brger bleibt allein die Flucht in die Wahlkabine solange die keiner zum Internet of Vote (IoV) umrstet.

Login

Editorial
Internet der Dinge, IoT, ist der Megatrend: Toaster mit IPv6-Adresse, oder die
Lichtfarbe zu Hause in Buxtehude justieren, whrend man selbst in Usbekistan
an der Bar eines Mittelklasse-Hotels hockt der Stromversorger erfhrt natrlich
auch davon. Alles Nonsens fr Technikfreaks? Von wegen: Auf einer Privatjacht
im schnen Monte Carlo am Vorabend des Groen Preises von Monaco hatte gerade die erste vernetzte Champagnerflasche ihren ersten Auftritt. Hersteller des
Behltnisses ist Maison Mumm. Die Pressemitteilung verspricht: Die vernetzte
Magnum ist eine Innovation fr noch mehr Feierspa.

www.linux-magazin.de

Voll vernetzt

08/2015

Inhalt
08/2015
www.linux-magazin.de

Die Apache Software Foundation liegt nicht faul auf der gegerbten Tierhaut, sondern frdert
nach Krften eine florierende Community aus groen und kleinen Projekten. Der Schwerpunkt
unternimmt eine organisierte Reise in das groflchige Apache-Reservat, gibt einen stammesgeschichtlichen berblick und portrtiert besonders interessante Softwarefamilien.

Aktuell

Titelthema: Apache-Land

6 N
 ews
n Kernel 4.1 mit Langzeit-Support
n Apple gibt Swift frei
n Tine 2.0 Groupware
n Enterprise-Harddisk mit 10 TByte
n Videokonferenzen per Firefox
n The Machine von HP mit Linux
n Das zweite Ubuntu Phone
n Wayland und Weston 1.8
n Kubuntu-Chef beurlaubt

 pache Software Foundation


18 A
Titel
Hunderte von Projekten stecken
unter dem Dach der Apache Software
Foundation. Trotzdem bricht kein Chaos
aus. Wie machen die das?

Die Apache Software Foundation brtet pro


Monat rund zwei neue Projekte aus.

Die von HP als revolutionr vorgestellte Hardware The Machine luft auf Linux.

12 Zahlen & Trends


n Visionen fr Open Stack
n Unsichere Smart Homes
n 20 Jahre Java
n Dropbox mit Sicherheitszertifikat
n Gimp streitet mit Sourceforge
n Ubucon sucht Vortrge
n Mozilla erhht Kopfgeld fr Bugs
n Trends in Rechenzentren

22 H
 adoop 2 und Apache Spark
Wer im Datenmeer fischen geht, sollte
besser einen ordentlichen Trawler im
Schlepptau haben. Hadoop 2 und Apache
Spark scheinen fr den Job geeignet.

Zwei Apache-Projekte liefern die Ausrstung


fr die Big-Data-Flotte.

DELUG-DVD

Mark Collier, COO der Open Stack Foundation,


erluterte seine Vision fr Open Stack.

Wie Mesos ist auch Aurora ein Projekt unter


dem Dach der Apache Software Foundation.

30 J
 meter
Vorbelastet: Das freie Jmeter ist ein fast
konkurrenzloses Tool fr Lasttests.
34 Apache-Server optimieren
Aus dem bewhrten Apache-Webserver
lsst sich mehr Performance rausholen.

Intelligent eingesetzte Direktiven machen den


HTTP-Server von Apache pfeilschnell.

Details zu DVDTOOL
Inhalten
auf S. 41

Fedora 22

Remnux 6.0

Das Original: Offizielle ISO-Files


der Workstation- und die AtomicHost-Version fr 64-Bit-Rechner

Ubuntu-14.04-basierte virtuelle
Security-Appliance, die beispiels
weise hilft, Malware zu analysieren

TOOL

TOOL

26 A
 pache Aurora
Im Rechenzentrum verteilt Aurora die
wichtigsten Dienste. Gelernt hat das
Mesos-Framework bei Twitter.

Raspi-Buch
Vollstndiges Franzis-E-Book:
Linux mit Raspberry Pi
(ber 300 Seiten aus der Praxis)

TOOL

TOOL

Grazer Linuxtage
Die DVD-Seite A ist randvoll mit
Vortragsvideos zu angesagten
Admin- und Programmierthemen

08/2015

Inhalt
08/2015

Software
 infhrung
41 E
DELUG-DVD: IP-Fire, Fedora, Raspi-E-Book
42 I P-Fire
Die aktuelle Variante von IP-Fire steuert
der Admin per Weboberflche und filtert
Traffic auf Basis von Geodaten.
44 B
 itparade
Titel
Die beliebten VPN-Tunnel lassen sich
auch im Peer-to-Peer-Verfahren graben.
Vier P2P-VPN-Lsungen im Vergleich.

58 Auf und ab
Freie Groupware kann zwar auf schne
Erfolge verweisen, gert aber auch
immer wieder in die Opferrolle meist
wegen externer Finanzierungen.

84 Boxenstopp
Ob sich Rust nach dem Release der
Version 1.0 gegen C und C++ behaupten
kann, hngt auch davon ab, ob die
Sprache mit ihren Features punktet.

Programmieren

Sysadmin
57 E
 infhrung
Mit dem TLS Interposer hlt Charly die
Open-SSL-Bibliotheken im Schach.

84 M
 ozillas Rust
Titel
Wer Alternativen zu C und C++ sucht,
sollte einen Blick auf Rust 1.0 werfen.

58 F
 reie Groupware
Titel
Die bisherigen Entwicklungen auf dem
Feld der Groupware fr Linux beleuchtet
dieser Artikel kritisch.

88 C
 ++11 Folge 23
Modernes C++ in der Praxis: Variadic
Templates punkten gleich mehrfach.

66 O
 pen Stack Sahara
Titel
Die Komponente will, dass sich Open
Stack und Hadoop besser verstehen.

Parameter Packs nehmen keines bis beliebig


viele Argumente auf.

92 P
 erl-Snapshot
Manche auf den ersten Blick einfach
erscheinenden Mathematik-Probleme
lst der Perl-Benutzer am Ende nur mit
der Hilfe von Skripten.

ber das Dashboard lassen sich in Sahara


Templates fr einen Hadoop-Cluster bauen.
Tunnelblick: VPN-Tools finden neue Wege.

50 L
 ibre Office auf Android
Eine neue App zeigt Libre-OfficeDokumente auf Smartphones an.
52 T
 ooltipps
Im Kurztest: Devices in LAN 0.4, Gxmes
sage 3.4.3, Site Monitoring 2.1.6, Bleachbit
1.6, Fehashmac 1.4.2, SSH Guard 1.5

72 K
 onfigurations-Management
Titel
Etcd, Consul und Zookeeper versprechen, ganze Flotten von VMs automatisiert zu konfigurieren. Klappt das?

78 R
 echt
Gesetzesentwurf der Regierung zur
Vorratsdatenspeicherung.
80 B
 cher
Nachlese: Bcher
ber Angular JS und
den Raspberry Pi.

Bleachbit will Rechner von berflssigen Daten befreien, darunter Temp-Files.

Mehrere MOLS lassen sich in lauter eindeutigen Kombinationen zusammenfassen.

Forum

82 L
 eserbriefe
Auf den Punkt gebracht.

Service

3 E
 ditorial
98 IT-Profimarkt
99 Stellenanzeigen
104 Veranstaltungen
104 Inserenten
105 Impressum
106 Vorschau

www.linux-magazin.de

42 Thermisch gesichert
Die neue Version der schlanken
Firewall-Distribution IP-Fire filtert unter anderem den Netzwerkverkehr auf
Basis geografischer Daten.

08/2015

Aktuell

Weltweit erste 10-TByte-Platte


HGST, ein Unternehmen von
Western Digital, kndigte die
erste Festplatte der EnterpriseKlasse mit 10 Terabyte Volumen fr Archivierungsanwendungen an. Die Host-verwaltete SMR-Festplatte Ultrastar
Archive Ha setzt neue Mastbe, indem sie fr Serverund Speicher-Anwendungen
die zurzeit hchstmglichen
Speicherdichten bei zugleich
moderaten Betriebskosten erlaubt.
Das Produkt ist das Ergebnis
der Kombination zweier Technologien, die sich gegenseitig

ergnzen: Es basiert zum einen auf der zweiten Generation von HGSTs praxiserprobter
Helio-Seal-Plattform und zum
anderen auf der Shingled-Magnetic-Recording-Technologie
(SMR). Das erreicht eine hohe
Speicherdichte und EnergieEffizienz ohne Abstriche bei
der Verlsslichkeit.
Die groe Platte eignet sich
fr Anwendungen, bei denen
Daten sequenziell geschrieben und zufllig gelesen werden mssen. Das ist zum Beispiel bei sozialen Medien, in
Cloudspeichern, Online-Back-

Apple will Swift freigeben


Apple will noch im Laufe des
Jahres den Quellcode fr seine relativ junge Programmiersprache Swift freigeben. Der
Code soll dann unter einer
von der OSI untersttzten Lizenz stehen, Apple will auch
einen Port fr Linux entwickeln. Angekndigt hat Apple
den Schritt auf der hauseigenen Worldwide Developers
Conference (WWDC) Anfang
Juni in San Francisco. Beobachter werten ihn als Reaktion
auf Microsofts Open-SourceStrategie: Der Redmonder
Konzern hatte den DotnetCore unter die MIT-Lizenz
gestellt.
Swift ist objektorientiert und
nutzt LLVM als Compiler.
Dessen Hauptentwickler Chris

Lattner arbeitet inzwischen


fr Apple und ist zugleich
Chefentwickler von Swift. Zusammen mit Swift will Apple
den Compiler und die Standardbibliotheken ffnen.
Laut zugehrigem Blogeintrag, in dem Apple auch schon
die Version 2.0 von Swift ankndigt, verspricht sich der
Milliarden-Konzern von dem
Schritt nicht nur, dass die
Entwickler mit Swift plattformbergreifend arbeiten,
sondern man will auch Codebeitrge von der Community
akzeptieren.
Swift greift auch die Ideen
einige anderer Programmiersprachen auf und kennt unter
anderem Klassen, Vererbung
n
und Namensrume.

HGST

News
www.linux-magazin.de

News

Shingled: berlappende Datenspuren


nach dem Dachschindelprinzip.

up-Lsungen, Anwendungen
der Life Sciences und auch

in der Medien- und Unterhaltungsbranche der Fall.


HGST sieht SMR als eine der
wesentlichen Technologien
zur knftigen Realisierung hherer Speicherdichten. Indem
man die Datenspuren berlappend oder in schindelartiger Anordnung aufeinander
platziert, lassen sich mehr
Daten auf gleichem Raum unterbringen. Das sequenzielle
Schreibverhalten der Hostverwalteten SMR-Festplatte
ist auf die Arbeitsbelastung
bei der aktiven Archivierung
n
abgestimmt.

Arduino Yun Mini kleineres Board


Die Produzenten des ArduinoBoards, die Arduino S.R.L, haben im Mai bei der Maker
Faire Bay Area mit dem Yun
Mini ein kleineres und um
einige Features abgespecktes
Board mit Open WRT in Form
von Linino-Linux gezeigt. Die
bisher gemeinsam arbeitenden Teams des Arduino-Hacker-Projekts und die fr die
Hardware zustndige Arduino
S.R.L haben sich inzwischen
zerstritten und gehen getrennte Wege.
Ungeachtet dessen hat Arduino S.R.L weiterentwickelt. Die
neue kleinere Version ist ebenfalls mit einem QualcommMIPS24k-basierten Atheros
AR9331 SoC bestckt. Ein Atmel-AT-Mega-32U4-Chip dient

als Microcontroller. Das Yun


Mini bringt 64 MByte DDR2RAM und 16 MByte Flashspeicher mit, 6 MByte belegt das
Linino-Linux.
Mit 71 mal 23 Millimetern ist
das Board deutlich schmaler
als der Vorgnger (73 mal
53) und wiegt mit 16 Gramm
nur etwa die Hlfte. Die Verschlankung geht aber mit dem
Entfallen des Ethernet-Ports,
des USB-Host-Ports und des
Micro-SD-Slots einher. Wer
die Ports braucht, kann sie
sich ber die optionale Accessoire-Liste nachrsten. WLAN
ist an Bord, ein Micro-USBPort ebenfalls, die Zahl der
Ein- und Ausgabe-Pins ist auf
22 gestiegen. Yun Mini soll
rund 60 US-Dollar kosten. n

Richard Stallman in Frankfurt


GNU-Initiator Richard Stallman wird am 8. und 9. Juli
Vortrge in Frankfurt halten.
Eingeladen haben den Grnder und Prsidenten der Free
Software Foundation das
Frankfurt Free Software and
Culture Institute e.V., die Gesellschaft fr Informatik e.V.,
das Institut fr Informatik
der Johann Wolfgang Goethe
Universitt und das Gallus
Theater. Im Gallus Theater
wird Richard Stallman am

8. Juli seinen ersten Vortrag


zum Thema Free Software
and Your Freedom halten.
Beginn ist um 19 Uhr, der
Eintritt zu beiden Veranstaltungen ist frei.
Am 9. Juli spricht Stallman ab
18.00 Uhr im Casino-Festsaal
auf dem Uni-Frankfurt-Campus Westend. Copyright vs.
Community ist bei diesem
Vortrag das Thema. Auf der
Webseite [http://ffsci.de] gibt es
weitere Informationen.
n

Neues Ubuntu Phone: BQ Aquaris E5


SD-Slot nimmt zustzlich
Krtchen bis zu 32 GByte als
Speichererweiterung auf. Das
Display (IPS) misst 5 Zoll und
lst in HD mit 720 mal 1280
Pixeln auf. Zwei Kameras sind
verbaut, eine mit 5 Megapixel
vorne, die Hauptkamera mit
13 Megapixel auf der Rckseite, Autofokus und Dual-Blitz
inklusive.
Das E5 beherrscht 3G, Blue
tooth 4.0 HS, WLAN und GPS.
LTE untersttzt es dagegen
nicht. Das Handy misst 71
mal 142 mal 9 Millimeter und
n
wiegt 134 Gramm.

BQ

Das Ubuntu-Team meldet


Zuwachs in der Gertefamilie, die Ubuntu Touch als
Betriebssystem nutzt. Das
Aquaris E5 des spanischen
Herstellers BQ sei fr den europischen Markt verfgbar.
BQ zeichnet auch schon fr
das Aquaris 4.5 verantwortlich, das im Linux-Magazin
5/2015 getestet wurde.
Rund 200 Euro sind fr das
Smartphone aufgerufen. Dafr erhlt man ein Gert mit
1,3-GHz-Quadcore-Prozessor,
1 GByte RAM und 16 GByte
Speicherplatz. Ein Micro-

Das BQ Aquaris E5 kommt im schwarzen Gehuse.

08/2015

Aktuell

Whrend einer Keynote auf


der HP Discover 2015 Anfang Juni in Las Vegas stellte
der Chief Technology Officer
Martin Fink das von HP entwickelte Grommet vor, ein
Open-Source-Werkzeug fr
User-Experience-Design. Das
Tool vereint ein Framework
fr das Design von User-Interfaces mit einem Style Guide.
Mit Grommet sollen sich einheitliche und an beliebige
Vorgaben der Corporate Identity anpassbare Benutzerober-

flchen bauen lassen, die auf


verschiedenen Plattformen
funktionieren knnen.

Um ein einheitliches Look &


Feel zu gewhrleisten, lassen
sich etwa Logos, Schriftarten

HP Grommet

www.linux-magazin.de

News

HP gibt UI-Designtool frei

Beispiel fr ein Grommet-basiertes User-Interface, hier als Dashboard gestaltet.

und Farbpaletten vorgeben.


Fr diverse Arten von Oberflchen sowie fr unterschiedliche Elemente wie Charts,
Formulare oder Tabellen existieren Vorlagen. Das Tool soll
auch Designer und Entwickler zusammenbringen.
Grommet basiert auf React
JS, einem Feature-reichen Javascript-Tool zur Gestaltung
von Oberflchen. Daneben
benutzt es auch die Tools
Inuitcss und Sass zum Kompilieren von Stylesheets. n

Tine-Groupware 2.0 als Hardware-Appliance


Die freie Groupware Tine wird
von den Tine-Machern als
Hardware-Appliance angeboten. Die Appliance mit dem
Groupware-Server der Tine
2.0 Business Edition kann bis

zu 25 Benutzer verwalten und


kommt in dieser Version ohne
Lfter, also auch ohne strende Gerusche aus.
4 GByte Arbeitsspeicher und
eine AMD-CPU mit 1 GHz

sind verbaut. Das Gert misst


168 mal 157 mal 30 Millimeter. Der Anbieter Metaways
verspricht, dass Anpassungen bestehender E-Mail-Infrastrukturen nicht erforder-

lich sind und sich Mailserver


und bei Providern liegende
IMAP-Postfcher problemlos
weiterhin nutzen lassen. Das
Tine-Bundle kostet rund 1900
n
Euro.

Das Session Description Protocol (SDP) ist in der Lage,


je nach Browser Unified Plan
oder Plan B auszuliefern.
sdp-interop ist dabei ein
wiederverwendbares NPMModul, das die beiden Methoden toUnifiedPlan(sdp) und
toPlanB(sdp) anbietet. Im
weiteren Verlauf des Blogeintrags zeigen die Entwickler
dann Implementierungsdetails und erklren, wie sdpinterop funktioniert.
Auch weitere Hindernisse
auf dem Weg zur Kompatibilitt spart der Blogeintrag
nicht aus, seien es Fehler in
der DTLS-Versionsfeststellung
von Firefox oder Decoder-

Probleme in der Jitsi Videobridge. Sicherlich eine interessante Lektre fr angehende


Entwickler.
Was noch in der Implementierung fehle, sei der SimulcastSupport. Jitsi vertraue dabei
auf Mediastream Constructors, die Firefox aber nicht
untersttzt. Das Jitsi-Team
arbeite an einem alternativen
Ansatz, der auf die Media
stream Constructors verzichte. Auch Desktop-Sharing ist
fr Firefox-User noch nicht
mglich, sei aber in Arbeit.
Wer den Videokonferenz-Support testen mchte, greift zur
Firefox Developer Edition 40
oder zu Firefox Nightly 41. n

Videokonferenzen mit Firefox und Jitsi


Dank der Jitsi Videobridge
soll es ab Firefox 40 mglich
sein, Videokonferenzen direkt
ber den Browser zu fhren
auch mit Nutzern anderer Browser. Dafr bentigte
Firefox Multistream-Support
und das Jitsi-Projekt musste
die Videobridge anpassen.
Ein Blogeintrag [https://hacks.
mozilla.org/2015/06/firefox-multistream-and-renegotiation-for-jitsivideobridge/] rekapituliert das
Vorgehen.
Die Schwierigkeit fr die Entwickler bestand laut Blog
eintrag darin, einen Inter
operabilitts-Layer einzubauen, damit Web-RTC-basierte
Videokonferenzen sowohl in

Chrome als auch in Firefox


funktionieren. Chrome untersttzt den von der IETF als
Standard angepeilten Unified
Plan (noch) nicht, sondern
stattdessen den konkurrierenden Entwurf Plan B, der
allerdings bei der IETF aus
dem Rennen ist.
Auch Jitsi setzte bislang auf
Plan B, weil es sich anfangs
auf die Chrome-Kompatibilitt konzentrierte Firefox beherrschte lange keinen Multistream. Eine Abstraktion in
den Plan-B-Code einzufhren
misslang aus verschiedenen,
im Blog referierten Grnden.
Die letztendliche Lsung lautet sdpinterop.

08/2015

Aktuell
buntu Council einsetzen und
kndigte an, wie gewohnt
an Kubuntu 15.10 arbeiten
zu wollen. Den Vorschlag
des CC lehne er ab, schrieb
er in einer Antwortmail, die
Kubuntu-Entwickler Scott Kitterman, eine langjhrige Fhrungskraft unter den Kubuntu-Entwicklern, verffentlicht
hat. Ubuntu-Grnder Mark
Shuttle
worth stellte daraufhin klar, dass der Community
Council ihn schlicht nicht
mehr als Chef der KubuntuEntwickler akzeptiere.
Zugleich stellt Scott Kitterman in seinem Blog einen

Wechsel zu Debian in Aussicht. Mit Riddell wrde dem


Kubuntu-Projekt ein zentraler
Entwickler wegbrechen, mit
Kitterman ein Fixpunkt in der
KDE-Community.
Insofern stellt sich die Frage
nach der Zukunft der KDEVersion von Ubuntu. Kubuntu
ist zwar verbreitet, doch das
Interesse von Canonical am
KDE-Ableger hlt sich eher in
Grenzen. So wird Jonathan
Riddell inzwischen von Blue
Systems finanziert, das an
einem eigenen KDE-Desktop
namens Netrunner arbeitet,
nicht mehr von Canonical. n

Detail des Prototyps von The Machine im HP Lab.

Memristors bestehen soll. Um


den Speicher herum gruppieren sich CPUs, die sich unabhngig vom Speicher anhalten
und hochfahren lassen.
Die gesamte Kommunikation
basiert auf Lichtwellenleitern
anstelle von Kupferkabeln,
die Inhalte sind durchweg
verschlsselt. Allein dieser
Sicherheitsgewinn, so HP,
wrde die Entwicklung von
The Machine rechtfertigen.

Kubuntu-Chef Riddell beurlaubt


Streit mit Kubuntu: In einem Brief legte Ubuntus
Community Council (CC)
Ende Mai dem Chef des Kubuntu-Teams, Jonathan Riddell, seinen vorbergehenden
Rcktritt nahe. Der aber weigerte sich. Zugleich droht ein
anderes langjhriges Kubuntu-Team-Mitglied zu Debian
zu wechseln.
Als Grund fr die Aufforderung nennt der Beirat das
Verhalten Riddells ihm gegenber. Es verstoe gegen den
Code of Conduct, Ubuntus
Verhaltenskodex. Bereits seit
einiger Zeit werde es zuneh-

mend schwieriger, mit Riddell


umzugehen, aus Respekt vor
seiner Arbeit habe man die
Situation hingenommen. Nun
aber habe der CC Riddell dazu aufgefordert, seinen Posten in der Kubuntu-Fhrung
mindestens fr zwlf Monate
zu rumen.
Riddell denkt aber nicht daran zurckzutreten. Vielmehr,
stellt er in seinem Blog klar,
habe er sich nie als Kubuntu-Leader bezeichnet und
sei auch nicht als solcher
bezeichnet worden. Zudem
lie er sich von KubuntuMitgliedern wieder in den Ku-

www.linux-magazin.de

Was man sich aber eigentlich


davon verspricht, ist ein Zuwachs an Rechenleistung, der
vor allem darauf beruht, dass
der zeitraubende Transfer von
Daten aus dem Massenspeicher in den RAM entfllt, weil
sich von Anfang an alle Daten
im Hauptspeicher befinden.
Damit sollen nicht nur heute
bekannte Workloads enorm
beschleunigt, sondern auch
Workloads berechenbar wer-

den, die fr heutige Technik


zu komplex sind.
Als Beispiel verweist der
Hersteller etwa auf die Flughafenlogistik. Holt heute ein
Flugzeug im Reiseflug einen
Zeitgewinn heraus, verliert es
diese Zeit nach der Landung
oft wieder, weil es unmglich
ist, dem Flieger schnell ein
Gate mit allen damit verbundenen Prozessen zuzuweisen.
Mit The Machine soll es mglich werden, alle Gates und
alle Abfertigungsprozesse eines Flughafens im Speicher
zu behalten und in krzester
Zeit zu optimieren.
An Betriebssystemen fr The
Machine wird geforscht, zunchst soll es auf ausdrcklichen Wunsch der Kunden
Linux sein. Ein neues Betriebssystem berge zustzliche
Risiken und Linux erscheint
den potenziellen Anwendern
als ausgereift, zumindest gilt
das fr die Anfangsphase der
n
Maschine.

HP Labs

Bei der HP Discover in Las


Vegas gab Hewlett-Packard
Einblicke in den Stand der
Entwicklung seines zukunftweisenden Rechnerkonzepts
The Machine. Mit dem Konzept will der Konzern die sich
abzeichnenden Beschrnkungen fr den weiteren Zuwachs
an Rechenleistung herkmmlicher Architekturen berwinden. Zurzeit befindet sich das
Projekt in einer frhen Entwicklungsphase: In einem
Jahr soll es einen funktionierenden Prototyp geben, Ende
des Jahrzehnts die Serienfertigung beginnen.
Im Unterschied zu heutigen
IT-Architekturen steht bei
The Machine der Speicher im
Mittelpunkt. Knftig wird es
sich dabei um nicht-flchtigen Speicher (non-volatile
Memory) handeln, der in der
Prototyp-Phase noch durch
DRAMs simuliert wird, spter
aber aus Phase-Change Memory (PCM) und danach aus

News

Revolutionre Rechner laufen unter Linux

08/2015

Aktuell
10

www.linux-magazin.de

News

Kurznachrichten
Cinnamon 2.6: Die Desktopumgebung von Linux Mint soll in der kommenden Release Aufnahme finden. Neu: Verbesserungen im Multimonitorbetrieb ermglichen es, Inhalte per Tastenkombination auf einen anderen
Monitor zu verschieben. Anwender drfen auch Panels ber die Monitore
verteilen. Lizenz: GPLv2 [https://github.com/linuxmint/Cinnamon]
Perl 5.22.0: Fr diese Ausgabe haben die Entwickler der Programmiersprache rund 590000 Zeilen Code angefasst. 94 Entwickler sind laut
Ankndigung beteiligt gewesen. Neu: Resultat daraus ist unter anderem
ein neuer Eingabe-Interpreter, der mehr Sicherheit verspricht. Zudem ist
nun Unicode 7.0 an Bord. Lizenz: GPL [https://www.perl.org]
IPfire 2.17 Core Update 90: Die fr den Betrieb als Firewall ausgelegte
Linux-Distribution haben die Entwickler aktualisiert und ihr interessante
Features spendiert. Neu: Mit dem neuen Geo-IP-Filter lsst sich ein- und
ausgehender Netzwerkverkehr anhand des Herkunfts- oder Ziellandes
blocken beziehungsweise zulassen. Die veralteten und als unsicher geltenden Verschlsselungsverfahren SSLv2 und SSLv3 sind standardmig
deaktiviert. Lizenz: GPLv3 [http://www.ipfire.org]
Octave 4.0.0: Die Mathematik-Software des GNU-Projekts setzt erstmals
auf die grafische Oberflche. Neu: Die integrierte Programmiersprache
lsst sich nun auch objektorientiert nutzen. Die mit Qt realisierte Ober-

flche erscheint beim Programmstart nun standardmig. Die bisher


an dieser Stelle aufgerufene Kommandozeile erreichen Anwender ber
die Option nogui beim Aufruf. Lizenz: GPLv2 [http://www.gnu.org/
software/octave/]
Scribus 1.5.0: Das freie DTP-Programm dient in dieser Version als Vorschau
auf Version 1.6.0 und sollte nicht produktiv zum Einsatz kommen. Neu:
Die generalberholte Benutzeroberflche basiert jetzt auf Qt 5.2. Unter
anderem nehmen Kontextmens nicht mehr so viel Platz ein, das Fenster
mit den Dokumenteinstellungen haben die Entwickler sogar komplett neu
geschrieben. Texte lassen sich vertikal skalieren, es gibt Fu- und Endnoten, Textvariablen und Querverweise. Des Weiteren fhrt Scribus 1.5.0
richtige Tabellen ein. Lizenz: GPL [http://www.scribus.net]
ALT Linux 7.0.5: Die aus Russland stammende Distribution gibt es in
mehreren Geschmacksrichtungen und mit der Option, von Russisch auf
Englisch umzuschalten. Neu: Die Ausgabe schliet zahlreiche Sicherheitslcken und bringt aktualisierte Zeitzonen-Informationen mit. Die OnlineRepositories werden ab sofort immer konfiguriert. Das System Control
Center ist zudem in der Lage, einem Active Directory beizutreten. Des
Weiteren klettert der Kernel auf die Version 3.14.41. Lizenz: GPL [http://
www.altlinux.org]

Wayland und Weston 1.8.0 erschienen


In der neuen Version 1.8.0
des Wayland-Protokolls und
seines Referenz-Compositors
Weston erleichtern die Entwickler um Kristian Hgsberg die Arbeit an eigenen
Sprachbindings fr Wayland
und spendieren Weston zu
Testzwecken ein Headless
Rendering.
Als grte Vernderung an
Wayland 1.8.0 haben die Entwickler die Client- und Server-Headerdateien aufgeteilt
in einen Kern-Teil und einen
fr das erzeugte Protokoll. Die
Core-Header lassen sich als

wayland-client-core.h und
wayland-server-core.h einbinden. Auch fr den Scanner
gibt es damit nun die Mglichkeit, nur die Core-Header
einzubinden (--include-coreonly). Das soll Entwicklern
die Arbeit an Sprachbindings
und eigenem Protokollcode
erleichtern.
Neu in Weston 1.8 ist von Collabora entwickelter Code, der
die EGL-Modernisierungen
ebenso bercksichtigt wie
das Testing-Framework. Dazu
gehren EGL-Verbesserungen
am gl-renderer, Tests fr die

Ivi-Shell und das Ivi-Layout,


Genivis Erweiterungen des
Wayland-Protokolls. Fr den
Editor gibt es nun Cut-, Copy- und Paste-Support. Daneben kann der Entwickler
Weston nun ber weston
--config=my_weston.ini mit
einer alternativen Konfigurationsdatei starten, die auch
alle anderen mit Weston gestarteten Programme bercksichtigen.
Dank dem neuen HeadlessRendering-Feature lsst sich
Weston fr Tests auch synthetisch, also ohne echten

Monitor, betreiben. Stattdessen zeichnet die Software


ber einen Bitmap-Puffer im
Arbeitsspeicher auf einen
knstlichen Monitor.
Der Pixman-Renderer erzeugt
dabei Bildschirmfotos und
reicht diese ber ein Test-spezifisches Screenshot-Protokoll
an den Client weiter. Der Test
vergleicht diese Bilder dann
mit Referenz-Images, um Abweichungen beim Rendern
festzustellen. Dieses Verfahren soll detaillierte Tests erlauben, die vorher praktisch
n
nicht mglich waren.

port fr den Kernel leisten.


Zu den Untersttzern der LTSVersion gehren mehrere grere Unternehmen, unter anderem Hitachi, LG, Panasonic
und Samsung. Sie bentigen
einen stabilen Kernel, der den
typischen Lebenszyklus eines

elektronischen ConsumerProdukts berdauert. Dank


der LTS-Initiative mssen die
verschiedenen Anbieter den
Kernel nicht im eigenen Hause pflegen, sondern knnen
ihre Anstrengungen bndeln.
n
(jcb/kki/uba)

Kernel 4.1 erhlt Langzeit-Support


Kernel 4.1 wird nach Aussage der Linux Foundation und
von Greg Kroah-Hartman eine
LTS-Release. Fast zugleich mit
der Verffentlichung des Release Candidate 7 von Linux
4.1 hat die Long Term Support
Initiative (LTSI) ber Twitter

angekndigt, dass der Kernel


4.1 Langzeitsupport erhalten
soll. Greg Kroah-Hartman hat
die Ankndigung der LTSI auf
Google Plus besttigt.
Das ist nicht unwichtig,
schlielich wird er voraussichtlich zwei Jahre lang Sup-

08/2015

Aktuell

Planet Open Stack als Vision


Auf dem Berliner
Open Stack DACH
Day 2015 stellte
Mark Collier, COO
der Open Stack Foundation, in seiner
Keynote die Vision
des Cloudinfrastruktur-Projekts vor. Die
heit Planet Open
Stack. DACH steht
fr Deutschland, sterreich (Austria) und
die Schweiz, Collier
meinte in Berlin aber
Mark Collier, COO der Open Stack Foundation, hlt seine Keynote.
die Welt.
ment, das 2015 produktionsRechenzentren verschiedener
Folgt die Realitt der Vision
des COO, luft Open Stack
Firmen gemeinsam nutzen
reif fr Unternehmen werden
schon bald in zahlreichen Reund zentral steuern.
soll und an verschiedene vorchenzentren weltweit. Dank
handene Systeme wie Open
Dabei hilft unter anderem das
eines gemeinsamen API lasID, SAML oder Kerberos anin Colliers Keynote erwhnte
Federated Identity Managedockt. Dies ermgliche es
sen sich die Dienste in den

Arbor Networks

Zahlen & Trends


www.linux-magazin.de

12

Zahlen & Trends

weltweit arbeitenden Teams,


die verschiedene Open-StackClouds betreiben, reibungslos
zusammenzuarbeiten. Collier
nennt eine TV-Produktionsgesellschaft als Beispiel.
Collier wei, dass viele
Admins Open Stack als die
neueste Hype-Technologie
betrachten. Seine Sicht:
Whrend viele Open-StackProjekte etwa Glance,
Keystone, Nova sich bereits
produktiv einsetzen lassen,
gebe es Unterprojekte, die
womglich erst in mehreren
Jahren produktiv nutzbar
seien. Open Stack biete Firmen dank seiner Offenheit die
Mglichkeit, bereits heute an
diesen Zukunftstechnologien
mitzuarbeiten.
n

Warnung vor unsicheren Smart Homes


Der Markt fr Smart-HomeTechnik wird in den nchsten Jahren deutlich anziehen,
doch vielen Verbrauchern
fehlt das Bewusstsein fr die
Gefahren, die das mit sich
bringt. Davor warnt der Eco
Verband der deutschen Internetwirtschaft e.V.
Laut einer Schtzung der Fokusgruppe Connected Home
des Nationalen IT-Gipfels wird
die Anzahl der Smart-HomeHaushalte bis zum Jahr 2020
die Millionengrenze berschreiten. Auch eine Studie
der VDI/VDE Innovation und

Technik GmbH attestiert dem


deutschen Smart-Home-Markt
ein deutliches Wachstum: Bis
2025 soll er einen kumulierten Umsatz von 19 Milliarden
erreichen.
Gleichzeitig fehlen sowohl
das Sicherheitsbewusstsein
der Verbraucher als auch
Hersteller-bergreifende Sicherheits- und damit auch
Entwicklungsstandards. Je
mehr Anbieter unkontrolliert
auf den Markt drngen, desto
schwieriger wird es, einen
ausreichend hohen Sicherheitslevel im Smart Home

nachhaltig zu erreichen,
warnt Oliver Dehning, Leiter
der Kompetenzgruppe Sicherheit im Eco.
Die Gefahren dieser Entwicklung kann man bereits heute
an Beispielen ablesen. So gab
es etwa krzlich ein SamsungSmart-TV-Gert, das Gesprche der Zuseher mitschnitt
und weitergab. Oder: Die
Sicherheitsfirma Kaspersky
entdeckte ber 14 Sicherheitslcken in nur fnf smarten
Haushaltsgerten. Die Nutzer
solcher Gerte scheint das
nicht zu kmmern. Deshalb

sahen ber 80 Prozent der


von Eco befragten IT-Experten das grte Problem fr
den smarten Markt in diesem
unbekmmerten Umgang mit
Daten.
Um diese Entwicklungen inhaltlich zu begleiten, hat der
Internetverband die Kompetenzgruppe Smart Environment gegrndet. Sie will
darauf hinwirken, vertikale
Standards und Protokolle zu
etablieren und auch die Entwicklung von entsprechenden
Frameworks und Libraries voranzutreiben.
n

08/2015

Aktuell
zahlt Mozilla nicht fr alle
moderaten Bugs.
Die
Bounty-Bug-Webseite
gibt auch Tipps, wie Sicherheitsforscher an hhere Belohnungen kommen. Offenbar kommt es stark auf die
Informationen im Bugreport
an. Lsst sich eine kritische
Lcke ganz klar ausbeuten
und fllt der Bugreport ausfhrlich aus und zeigt Wege,
um die Schwche auszunutzen, entlohnt Mozilla die Anstrengung mit 7500 US-Dollar.
Insgesamt hat das Projekt nahezu 1,6 Millionen US-Dollar
ausgezahlt.
Daneben hat Mozillas Sicherheitsteam vor einiger Zeit
eine Bounty Bug Hall of Fame
eingefhrt. Dort listet es die
erfolgreichsten Bug-Jger sorn
tiert nach Jahren auf.

Studie zu Trends bei Rechenzentren


Lease Web, ein groes Hosting-Netzwerk, das 17 500
Kunden auf der ganzen Welt
betreut und neun Rechenzentren in Europa, Asien-Pazifik
und den USA unterhlt, in
denen mehr als 65 000 physische Server stehen, hat jetzt
eine Studie zu Trends im Rechenzentrum bis 2020 vorgelegt. Fr die Studie wurden
105 IT-Experten befragt, die
sich in ihren Antworten weitestgehend einig waren: Die
Kapazitt der meisten Rechenzentren wird weiter wachsen.
Insbesondere die steigende
Datenflut ist dabei eine groe
Herausforderung.
Die Rechenzentren werden
nicht nur grer, sondern
auch komplexer, weshalb der
Stellenwert der Automatisie-

rung zunimmt. Neben der


Gre wird von den Rechenzentren der Zukunft vor allem Flexibilitt verlangt. Im
Moment halten noch weniger
als die Hlfte der Befragten
(49 Prozent) Agilitt fr einen
absolut wichtigen Mastab
der Qualitt eines Datacenter,
aber fr das Jahr 2020 erwarten bereits fast drei Viertel (71
Prozent), dass diese Aussage
zutrifft.
Die Sicherheit der Rechenzentren ist ein Thema, das einen
Spitzenplatz in der Rangliste
beansprucht und halten wird.
Als Nebenaspekt steigt auch
die Bedeutung der Unabhngigkeit von amerikanischen
Behrden. Der Trend zum
Outsourcing von IT-Dienstleistungen wird sich fortsetzen.n

Als Sammlung in C umgesetzter CGI-Binaries gestartet, haben sich die Personal Home
Page Tools (PHP) in den vergangenen 20 Jahren zum festen Bestandteil der Webent
wicklung etabliert.
In seiner Ankndigungsmail
hatte PHP-Entwickler Rasmus
Lerdorf vor 20 Jahren seine
Tools unter anderem noch als
Helfer beim Loggen von Zugriffen auf Websites und auch
zum Blockieren von Zugriffen
ber bestimmte Domains beschrieben.
Die Personal Home Page Tools
standen von Beginn an unter
der GPL. Lerdorf entwickelte
auch noch die Version 2.0,
Anzeige

die 1997 als PHP/


FI (Personal Home Page/Forms Interpreter) erschien. Die Weiterentwicklung folgte dann von
Andi Gutmans und Zeev Suraski, die eine Neuimplementierung vornahmen.
1998 erschien PHP 3 als PHP:
Hypertext Preprocessor. Version 4 steuerte im Jahr 2000
mit ZEND einen neuen Kernel
bei. 2004 folgte Version 5, unter anderem mit Verbesserungen in der objektorientierten
Programmierung. Die aktuelle
Version heit PHP 5.6. Mit der
nchsten wird eine Nummer
bersprungen, sie soll PHP 7
heien und noch im Jahr 2015
erscheinen.
n

Zahlen & Trends

Das Sicherheitsteam von


Mozilla zahlt seit einiger Zeit
Geld, wenn Nutzer SecurityBugs melden. Nun hat das interne Bounty-Bug-Komitee die
Betrge erhht. Fr als hoch
oder kritisch eingestufte Bugs
will Mozilla knftig zwischen
3000 und 7500 US-Dollar zahlen, die konkrete Summe legt
das Komitee fest.
Im Hchstfall berweist
Mozilla sogar 10000 US-Dollar. Dabei muss es sich um
eine neue Form von Exploit
handeln oder eine auergewhnliche Sicherheitslcke.
Auch fr einige als moderat
eingestufte Lcken lsst das
Projekt unter Umstnden
Geld springen. Wer sie entdeckt, kann mit einer Belohnung zwischen 500 und 2000
US-Dollar rechnen, allerdings

20 Jahre PHP

www.linux-magazin.de

Mozilla zahlt mehr Kopfgeld

13

08/2015

Aktuell

Die Apache Software Foundation (ASF) hat erstmals einen


Jahresbericht verffentlicht.
Danach managt die ASF ber
200 Softwareprojekte. 163
Projekte befinden sich laut
Apache-Jahresbericht fr das
Fiskaljahr 2015 in Hnden der

so genannten Project Management Committees, weitere 41


sind im Incubator-Status und
warten auf die offizielle Anerkennung.
Die Zahl der Mitglieder in
den Projekt-Komitees betrgt
ber 2000. Die ASF selbst hat

laut ASF-Chairman Brett Porter 606 aktive Mitglieder. Die


Entwickler-Community weist
rund 550 Mitglieder auf, es
gibt daneben etwa 4700 CodeBeitragende. Die ASF feierte
Ende 2014 ihr 15-jhriges
Bestehen. Der Apache-HTTP-

ASF

Zahlen & Trends


www.linux-magazin.de

14

Jahresbericht der Apache Software Foundation

Stetes Wachstum: Entwicklung der Entwickler-Accounts bei der ASF.

Server als erstes Projekt ist


lter als die Foundation selbst
und bringt es inzwischen auf
20 Jahre.
Finanziell trgt sich die
Foundation auch dank der
Spenden und Sponsoren-Programme. Der Jahresumsatz
im Fiskaljahr 2015 betrgt laut
Kmmerer Chris Mattmann
996
000 US-Dollar. Davon
sind 122000 US-Dollar als
Nettoeinnahmen zu verbuchen. Die Barreserve beziffert
Mattmann auf 1,75 Millionen
Dollar, was nach der derzeitigen Ausgabenplanung ein
finanzielles Polster fr rund
20 Monate sichert. Die ASF
rechnet im Fiskaljahr 2016 mit
monatlichen Ausgaben von
rund 87000 US-Dollar.
n

Gimp verlangt Lschmglichkeit von Sourceforge


Sourceforge hat auf die Malware-Vorwrfe des Gimp-Projekts reagiert und dieses selbst
dafr verantwortlich gemacht.
Die Gimp-Entwickler bleiben
bei ihrer Darstellung.
Laut dem Gimp-Projekt hat
Sourceforge, entgegen frheren Beteuerungen, Drittanbietersoftware in einen Installer
der Windows-Version integriert, die ungewollte Software
auf die Systeme spielt. Das ist

fr viele Freie-Software-Nutzer ein No-Go.


Sourceforge reagierte und
schob die Schuld dem Projekt
zu. Es habe seine Software
unbetreut auf Sourceforge zurckgelassen. In solchen Fllen sei es blich, die Software
an andere Hoster zu geben,
die sie dann unter Umstnden
mit einfach abzulehnender
Software von Drittanbietern
bndeln. In einem Update

schrieben die Sourceforge-Betreiber, der Anbieter habe den


Installer mit der unerwnschten Software entfernt.
Das gengte dem Gimp-Projekt allerdings nicht. Selbst
wenn Sourceforge ein paar
vom Projekt vorgeschlagene
Guidelines einhalte, werde
das nchste Management
diese eventuell wieder ber
den Haufen werfen. Zur Schadensbegrenzung schlgt das

Projekt vor, dass Sourceforge


es ermglichen soll, Projekte
und Links komplett zu entfernen und feindliche Projektbernahmen zu verhindern,
Dateien von Sourceforge und
den Mirror-Servern zu lschen und Redirects auf die
neue Adresse eines Projekts
anzulegen.
Inwieweit Sourceforge auf die
Vorwrfe reagiert, muss sich
n
erst noch zeigen.

den Teilnehmern der Konferenz bestckt werden kann


und die online [http://ubucon.
de/2015/themenwunschliste] einzusehen ist. Daneben sind
alle Vortrge und Workshops

zu Themen rund um Ubuntu


und freie Software willkommen. Die Ubucon findet an
der Berliner Hochschule fr
Wirtschaft, Technik und Kuln
tur statt.

Ubucon sucht Vortrge


Die 9. deutschsprachige Ubucon tagt vom 23. bis zum 25.
Oktober 2015 in Berlin. Der
deutsche
Ubuntu-Ableger
Ubuntu Deutschland e.V. bittet um Beteiligung der Ent-

wickler und hat einen Call


for Papers gestartet. Das
Motto der Ubucon lautet
Community in Touch.
Gesucht werden Vortrge zu
einer Wunschliste, die von

08/2015

Aktuell
Anzeige

Einen besonderen Meilenstein


stellte die Ankndigung von
Java SE 8 im Mrz 2014 dar,
des grten Upgrade in der
Java-Geschichte.
Java ist auch eine der beliebtesten Programmiersprachen.
In dem seit 2001 verffentlichten Tiobe-Index lag Java,
konkurrierend mit C, stets
auf Platz eins oder zwei beim
Ranking. Nach dem Programmiersprachenindex Redmonk
kam Java 2015 auf Platz zwei
hinter Javascript, nach dem
Programming
Language
Popularity-Index liegt Java
ebenfalls auf Platz zwei, diesmal aber wieder nach der Programmiersprache C.
n

Ungeachtet ihrer weiten Verbreitung seien Sicherheitsfragen gar nicht so sicher.


Das ist das Ergebnis einer
Forschungsarbeit, die Google
jetzt auf der World Wide Web
Conference 2015 in Florenz
prsentierte.
Google analysierte Hunderte
Millionen Sicherheitsfragen
und Antworten, die es fr
die Wiederherstellung von
Accounts speichert. Die Forscher fanden heraus, dass sich
die Antworten auf viele der
hufigsten Fragen mit zehn
Versuchen und einer Erfolgsrate zwischen 21 und 39 Prozent erraten lieen. Die Rate
hngt von den Fragen ab. So

beantwortet die Frage Was


ist ihr Lieblingsessen? mit
einem einzigen Versuch zu 20
Prozent korrekt, wer Pizza
whlt.
Zuweilen kursiert im Netz
der Rat, man solle auf Sicherheitsfragen bewusst falsche Antworten speichern.
Die Forscher bei Google fanden allerdings, dass dann
die Antworten nicht wie erhofft schwerer, sondern noch
leichter zu erraten waren,
weil viele dieselben falschen
Antworten whlten. Generell
waren die Fragen entweder
leicht zu merken oder schwer
zu erraten, aber fast nie bein
des zusammen.

Zahlen & Trends

Eine der erfolgreichsten Programmiersprachen feiert ihren


20. Geburtstag: Java wurde
1995 erstmals vorgestellt und
ist derzeit fr ber neun Millionen Entwickler die Programmiersprache der Wahl. Allein
zwlf Hersteller bieten heute
30 kompatible Implementierungen der Standards Java EE
6 und Java EE 7 an.
Java-Applikationen
sollen
derzeit auf ber 7 Milliarden
Gerten laufen. Das Spektrum
reicht von Computerspielen
bis zur Gehirnsimulation,
von der Verkehrssteuerung
bis zur Ozeanforschung oder
der Optimierung der Getreideertrge in der Landwirtschaft.

Google: Sicherheitsfragen sind unsicher

www.linux-magazin.de

20 Jahre Java

15

08/2015

Aktuell

Der franzsische LinuxAnbieter Mandriva steht vor


dem Aus. Das zustndige
Firmenregister fhrt das Unternehmen als in der Liquidation befindlich. Die Websites
Mandriva.com und Mandriva.
fr sind nicht mehr erreichbar.
Mandriva, frher Mandrake
Linux, beendet damit eine

jahrelange Berg- und Talfahrt


mit Finanzproblemen, Streit
und Kndigungen, aber auch
mit einem zwischenzeitlichen Brsengang (2011) und
Hhenflgen in Sachen Beliebtheit.
1998 als Mandrakesoft von
Gal Duval gegrndet, benannte sich das Unternehmen

nebst der Distribution nach einem juristischen Hickhack um


eine gleichnamige Comicfigur
und dem Zukauf des brasilianischen Linux-Unternehmens
Connectiva im Jahr 2005 in
Mandriva um. 2001 ging Duval noch mit Mandrakesoft an
die Pariser Brse. Bereits 2003
musste die Firma Glubiger-

schutz beantragen. Nur dank


der Untersttzung durch die
Community des MandrakeClubs floss wieder Geld, das
die Firmeninhaber im Folgejahr in verschiedene Zukufe
investierten. Duval wurde im
Jahr 2006 gekndigt. In der
Folge kam es regelmig zu
n
Finanzengpssen.

Jeder Dritte wrde mit dem Smartphone zahlen


Fast ein Drittel der Deutschen
(29 Prozent) steht dem Bezahlen per Smartphone aufgeschlossen gegenber. Das
entspricht gut 20 Millionen
Menschen, wie der Digitalverband Bitkom im Rahmen einer reprsentativen Befragung
herausgefunden hat.
Rund ein Viertel der Befragten (22 Prozent) kann sich
vorstellen, knftig kontaktlos
ber das NFC-Verfahren mit
dem Smartphone zu bezahlen, 7 Prozent haben dies bereits getan. Bei den 14- bis
29-Jhrigen sind sogar 27
Prozent offen fr das mobile
Bezahlverfahren, 14 Prozent

haben es schon genutzt. Beim


Bezahlen per NFC-Technologie (Near Field Communication) hlt der Nutzer sein Mobiltelefon vor ein Lesegert,

Die Bitkom hat die Akzeptanz des mobilen Bezahlens hinterfragt.

20 Jahre Qt
Im Mai vor 20 Jahren hat ein
norwegisches Zwei-MannProjekt die erste Fassung von
Qt auf die Server geladen. Die
Bibliothek stand damals unter
proprietrer Lizenz, verfgte
ber eine stattliche Anzahl
von Klassen und wurde von
Matthias Ettrich 1996 als Basis
fr KDE eingesetzt, dem Projekt, das er soeben gegrndet
hatte. Ettrichs Entscheidung

um beispielsweise die Supermarkt- oder Tankrechnung zu


begleichen.
Obwohl nur eine Minderheit
via Smartphone Rechnungen

Bitkom

Zahlen & Trends


www.linux-magazin.de

16

Mandriva geht in die Liquidation

begleichen wrde, gibt sich


Bitkom-Vizeprsident Ulrich
Dietz berzeugt: Das Smartphone wird in absehbarer
Zeit neben Bargeld ein vielgenutztes Zahlungsinstrument
sein. Dietz sieht aber auch
Mngel: Was die Infrastruktur der Lesegerte in den Geschften angeht, haben wir im
Vergleich zu anderen Lndern
noch groen Nachholbedarf.
Derzeit gibt es in Deutschland
erst rund 60 000 Akzeptanzstellen fr das Bezahlen per
NFC, das sind rund 8 Prozent
der Kassenterminals. In den
kommenden Jahren werde
diese Zahl rasch wachsen. n

Dropbox erhlt Sicherheitszertifikat


fhrte wegen der proprietren
Lizenz, die aber Kopien und
Quellcode-Einsicht zulie, zur
Abspaltung im Projekt und
zur Grndung von Gnome,
das auf GTK+ setzte.
Seit 1999 ist Qt, noch unter
Trolltech, freie Software und
hat eine Lizenz-Odyssee von
der ursprnglichen Free Qt zu
QPL ber die GPL zur LGPL
n
hinter sich.

Dropbox wurde von EY Certify Point das international


anerkannte Sicherheitszertifikat ISO 27018 verliehen.
Der zertifizierte Standard
soll die Wahrung der Privatsphre und den Datenschutz
in der Cloud garantieren. Er
beschftigt sich ausschlielich mit der Regulierung der
Verarbeitung von personenbezogenen Daten in der Cloud

und formuliert datenschutzrechtliche Anforderungen fr


Clouddienste.
Der Standard fordert umfangreiche Benachrichtigungs-,
Informations-, Transparenzund Nachweispflichten von
den Cloudanbietern. Inhaltlich baut er auf den bereits
existierenden
Sicherheitsstandards ISO 27001 und ISO
27002 auf. (jcb/kki/uba) n

08/2015

Titelthema

Apache Software Foundation

Keine Bros, keine Gebude: Die Apache Software Foundation ist nahezu unsichtbar. Doch brtet sie Hunderte
von Software-Groprojekten aus, bringt Tausende Entwickler zusammen. Und all das, ohne im Chaos zu enden
und auf Innovation zu verzichten. Wie macht sie das? Ein Streifzug. Kristian Kiling
spiel benannt hat oder nach der nordamerikanischen Stammesgruppe.

Steiler Aufstieg

sergeisimonov, 123RF

18

www.linux-magazin.de

Apache-Projekte

Digitaler Brutkasten

Apache-Projekte wie Hadoop [1], Cassandra [2], Tomcat [3] und Spark [4]
erfreuen sich in den Rechenzentren seit
Jahren grter Beliebtheit. Den Grundstein der Apache Software Foundation
(ASF, [5]), deren Projekte der Schwerpunkt in diesem Linux-Magazin beleuchtet, legte aber ein schlanker, kleiner
Inhalt
18 Die Apache Software Foundation
Vom Webserverprojekt zur millionenschweren Open-Source-Stiftung.
22 Hadoop
Big Data erklrt: Fischen im Datenmeer
mit Hadoop 2 und Apache Spark.
26 Apache Aurora
Wer Dienste in Mesos terminieren
mchte, greift zum Aurora-Framework.
30 Jmeter
Stressen, aber richtig! Jmeter ist Apaches Lasttest-Werkzeug.
34 Apaches Webserver tunen
Aus dem Webserver Nr. 1 lsst sich eine
bessere Performance herauskitzeln.

HTTP-Server [6]. Ihn kann man im Softwarebereich wohl als uerst populren
Dauerbrenner bezeichnen (siehe Artikel
im Schwerpunkt).
Vorlufer des Apache-Servers war der
HTTPd der NCSA [7]. Wem die Abkrzung nichts sagt: Vom National Center for
Supercomputing Applications stammt der
wohl bekannteste der frhen Browser:
Mosaic. Rob McCool arbeitete Anfang der
90er in der Institution und erhielt den
Auftrag, einen Webserver zu entwickeln,
der nicht so komplex ist wie der damals
bevorzugt eingesetzte vom CERN. Den
Code suchte er in dem noch jungen Internet zusammen.
Als McCool das NCSA verlie, um einen neuen Job anzutreten, wurde der
Server ziemlich vernachlssigt. Lediglich
ein paar Nutzer schickten noch eigene
Patches, um ihn am Leben zu erhalten.
Brian Behlendorf sammelt diese und
so entstand A patchy Server. Unklar
bleibt, ob sich Apache nach diesem Wort-

Im April 1995 verffentlichte die selbsternannte Apache Group, die aus acht Entwicklern bestand, eine erste Version 0.6.2
des Servers, im Dezember 1995 erschien
die Version 1.0. Im Laufe eines Jahres
berflgelten die Apache-Nutzerzahlen
bereits die des NCSA HTTPd. Im Zuge
dieser Entwicklung grndeten die Apachen 1999 die Apache Software Foundation (ASF). Da waren bereits weitere
Softwareprojekte im Apache-Umfeld entstanden, die sich etwa um die Perl- oder
PHP-Module kmmerten.
Heute verwaltet die ASF 164 ToplevelProjekte, mit 110 Subprojekten. Daneben gibt es 35 als Podlings bezeichnete
Nachwuchsprojekte im Apache Incubator [8] sowie 39 Initiativen im Apache
Lab [9]. Insgesamt sind das 348 OpenSource-Initiativen. Monatlich kommen
durchschnittlich zwei neue Projekt hinzu
(Abbildung 1), insgesamt zhlt die ASF
4700 Codelieferanten [10].
Mitte der 90er entstand auch die Apache
License 1.0, die damals noch verlangte,
die Apache Group in Werbematerialien zu
nennen. Der Passus fiel spter weg. Die
aktuelle Version 2.0 ist zur GPLv3 kompatibel, wenn ein Projekt Apache-2.0Code in sein GPLv3-Projekt integriert.
Umgekehrt funktioniert es nicht. Mehr zu
dieser Problematik liefert [11].

Auf die Bhne


Die Apache Software Foundation bezeichnet ihre Organisationsform als Meritokratie. Grob vereinfacht heit dies:

08/2015

Titelthema
Apache-Projekte

Abbildung 1: Sowohl bei den Toplevel-Projekten als auch im Inkubator zeigt der Trend nach oben. Die Schwankungen im Inkubator ergeben sich, weil reife Projekte in die Toplevel-Liga wechseln.

Die ASF glaubt an Hte, also an Verantwortliche, die den Hut aufhaben: Fr
jedes Projekt gibt es nicht nur ein PMC,
sondern auch ein Mitglied der Foundation, das als offizieller Ansprechpartner
fr das Projekt auftritt [16].

Gut versorgt
An der Spitze der ASF gibt es einen Vorstand mit neun Positionen. Sechzehn so
genannte Officer kmmern sich zudem
um organisatorische Dinge, etwa das
Marketing oder Fundraising. Fr Letzteres gibt es sogar zwei Officers. Das ist
kein Wunder, verfgt die Foundation
doch ber zahlreiche Sponsoren [17], die
nicht nur die Infrastruktur, sondern auch
die Arbeit der Foundation sowie Veranstaltungen, darunter die ASF-Konferenz
Apachecon, finanzieren.
Sponsoren knnen zwischen unterschiedlichen Leveln whlen. Zu den Platinum-Sponsoren, die jeweils sportliche
100 000 US-Dollar im Jahr an die Foundation zahlen, gehren Google, Microsoft,
Facebook, Citrix und Yahoo. Weitere bekannte Firmen treten als Gold-, Silberoder Bronze-Sponsoren auf.
Das ist verstndlich, weil die ASF zahlreiche Open-Source-Projekte verwaltet, die
von diesen Firmen stammen und die dort
tglich im Einsatz sind. Als Sponsoren
versprechen sie sich eine Einflussnahme
auf die Projektentwicklung und einen
besseren Zugang zu Entwicklern. Wohin ihr Geld fliet, zeigen regelmig die
Jahresfinanzberichte, der fr 2014 etwa

unter [10]. Auf Konferenzen treffen die


Firmenmitarbeiter auf freie Apache-Entwickler und es werden neue Entwicklungen vorgestellt und diskutiert.

Blick ins Labor


Solche Innovationen sollen unter anderem in den Apache Labs entstehen. Alle
Lab-Projekte samt einer Kurzerklrung
und einem Link auf den Code in Apaches-SVN-Repository liefert [18]. Die relevanten Informationen stecken entweder
in einer README.txt-Datei, hufiger
aber in einer XML-Datei namens doap.
rdf. Das Linux-Magazin wirft im Folgenden einen Blick ins Labor und stellt drei
der Projekte vor.
Das in Java, Python und Scala geschrieben Framework Alike [19] soll es erlauben, hnliche Bilder automatisch zu erkennen. Dazu verbindet es mehrere Tools
miteinander: Open CV fr maschinelles
Sehen, die Maschinen-Lernsoftware Apache Mahout sowie die Suchmaschine Lucene. Open CV soll so genannte visuelle
Deskriptoren auf Bildern entdecken. Mahout zerlegt diese in visuelle Wrter, die
Lucene dann indexiert.
Mouse [20] ist die Python-Implementierung des Apache Release Audit Tool
(Rat, [21]). Konkret soll es Lizenzen im
Quellcode eines Projekts erkennen, um
Compliance zu gewhrleisten. Anders
als Rat besitzt Mouse dank Python aber
keine Java-Abhngigkeiten.
Clouds [22] soll hingegen ein Architektur-, Test- und Dokumentationsprojekt

www.linux-magazin.de

ASF Annual Report FY 2014-2015

Wer viel tut, hat auch viel zu sagen.


Bestehende Mitglieder stimmen ber die
Aufnahme neuer Mitglieder ab, die Details regelt eine Satzung [12].
Die Apache-Projekte durchlaufen mehrere vorbestimmte Stadien (Abbildung
2). Wer sein Projekt in die Obhut der ASF
bergeben hat, landet damit zunchst
im Apache Incubator (Brutkasten, [8]).
Stellt sich heraus, dass der Code darin
aufblht und sich eine Community um
das Projekt bildet, wird es zum ToplevelProjekt [13] und steht gleichwertig neben
den anfangs genannten.
Um Innovationen anzukurbeln, bietet die
ASF ihren Mitgliedern zugleich die Mglichkeit, mit Code zu experimentieren.
Die dazugehrige Infrastruktur stellen
die Apache Labs [9] bereit. Ist eines der
Experimente erfolgreich, landet es im Inkubator und folgt dem weiter oben vorgezeichneten Weg. Selbst an das Aufrumen denkt die Foundation: Nicht mehr
betreute oder aktuelle Projekte landen
auf dem Attic (Dachboden, [14]). Der
Code bleibt so zugnglich und lsst sich
wiederbeleben, falls sich Interessenten
finden.
Wer sich aber fr seinen nicht mehr betreuten Code ein zweites Leben im Apache-Projekt erhofft, missversteht das System. Die ASF akzeptiert Code nur, wenn
dessen Besitzer einige Regeln beachtet
und bestimmte Voraussetzungen erfllt.
Zu diesen gehren:
n
Es muss sich um lauffhigen Code
handeln. Das begrndet die ASF damit, dass sich eine Community erst
dann bilde, wenn der Code funktioniere. Stehe am Anfang zudem eine
langwierige Designphase, wrde
es hufig zur Fragmentierung der
Community kommen.
nDer Codebesitzer muss das Copyright
der Software und das darin enthaltene geistige Eigentum im Rahmen
eines Software Grant Agreement [15]
der Apache-Stiftung bergeben. Nur
dann knnen die User sicher sein,
nicht irgendwann in einem Lock-in
zu landen.
nNicht zuletzt braucht das Projekt einen Sponsor innerhalb der ASF oder
einen Officer. Diese Person agiert als
Mentor, hilft dem Projekt und hlt
Kontakt zum Project Management
Committee (PMC) des Projekts.

19

08/2015

Titelthema
Apache-Projekte
www.linux-magazin.de

20

Contributor/
Developer

sendet
Patches

gibt Feedback

Committer*

partizipiert

ApacheCodebasis

darf Code einchecken

Apache
Labs

Apache
Incubator

ToplevelProjekte

Attic

User
*Code License Agreement unterschrieben

Abbildung 2: Firmen wie Google, Facebook und Twitter gehren hufig sowohl zu den Usern als auch zu den Entwicklern im Entwicklungsmodell der ASF.

sein, um Apache-Anwendungen in die


Cloud zu bringen. Genauer soll es als
Klebstoff zwischen Apaches Cloudstack
und den Apache-Anwendungen dienen,
um diese besser in den Cloudstack zu
integrieren.
Beim Blick auf die weiteren Projekte
zeigte sich aber auch, dass viele das Lab
entweder schon wieder verlassen haben
oder sie sich im Status idle befinden.
Da diese Projekte zum Teil seit acht oder
neun Jahren existieren, sind sie vermutlich schlicht auer Dienst.

Aus dem Brutkasten


Vielversprechender sehen dagegen die
Projekte im Apache Incubator [23] aus,
die den Sprung zum Toplevel-Projekt
schaffen mchten. Zu den bekannteren
im Brutkasten gehrt Groovy [24]. Die
objektorientierte Sprache fr die JavaPlattform gibt es bereits seit 2003, aktuell ist die Version 2.4. Im Frhjahr zog
Groovy als Inkubator-Projekt ins Lager
der Apachen, nachdem die ehemaligen
Wirte von Codehaus [25] das Geschft
einstellten.
Auch von Apache Wave [26] hat der
eine oder andere womglich schon gehrt. Es handelt sich dabei um ein von
Google angeschobenes Software-Framework fr die Echtzeitkommunikation und
Kollaboration ber ein XMPP-basiertes
Protokoll. Google trennte sich 2010 von
dem Projekt, Apache akzeptierte Wave
im Inkubator. Das Hauptprodukt ist das
Server-basierte Wave in a Box (WIAB).
Es hostet und verteilt die von den Usern
ber eine Wave-Anwendung verfassten
Waves. Dabei handelt es sich beispielsweise um Foren- oder E-Mail-Threads,

Instant-Messaging-Konversationen oder
Wiki-Artikel.
Ripple [27] will sich beim Entwerfen von
HTML-5-basierten Mobilanwendungen
als Test- und Debug-Tool ntzlich machen, unter anderem ber einen Browserbasierten Mobiltelefon-Emulator. Aktuell
untersttzt es Laufzeitumgebungen wie
Cordova und Webworks.

Fazit
Whrend in Apaches Lab offenbar einige
Karteileichen und nicht weiter verfolgte
Experimente schlummern, scheinen die
Projekte im Inkubator und die ToplevelProjekte gut in Schuss. Auch die Apache
Software Foundation als Ganzes erfreut
sich offenbar guter Gesundheit und
scheint finanziell und organisatorisch
gangbare Wege gefunden zu haben, mit
der wachsenden Zahl an Projekten umzugehen.
Die Organisationsform erinnert nicht zufllig an die in der Kernelentwicklung.
Wie die Linux Foundation verdankt auch
die ASF ihren Erfolg zunehmend dem
finanziellen Engagement groer Firmen,
die ihren Code dafr in die Stiftung auslagern. Fr die Projekte erweist sich das
offenbar als ntzlich: Hauseigene Statistiken verweisen auf eine steigende Anzahl
n
an Codelieferanten.

Infos
[1] Hadoop: [http://hadoop.apache.org]
[2] Cassandra: [http://cassandra.apache.org]
[3] Tomcat: [http://tomcat.apache.org]
[4] Spark: [http://spark.apache.org]
[5] Apache Software Foundation:
[http://apache.org]

[6] Apache-Server: [http://httpd.apache.org]


[7] Geschichte der ASF: [http://www.apache.
org/history/timeline.html]
[8] Incubator: [http://incubator.apache.org]
[9] Labs: [http://labs.apache.org]
[10] ASF-Fiskal-Jahresbericht 2014/2015:
[https://s3.amazonaws.com/
filesdist/AnnualReports/
ASFAnnualReportFY20142015FINAL.pdf]
[11] Kompatibilitt der Apache-Lizenz:
[http://www.apache.org/licenses/
GPLcompatibility.html]
[12] Satzung der ASF: [http://www.apache.
org/foundation/bylaws.html]
[13] Toplevel-Projekte:
[http://apache.org/#projectslist]
[14] Attic: [http://attic.apache.org]
[15] Software Grant Agreement: [http://www.
apache.org/licenses/softwaregrant.txt]
[16] ASF-Verantwortliche:
[http://www.apache.org/foundation/]
[17] Sponsoring: [http://www.apache.org/
foundation/sponsorship.html]
[18] Liste der Labs-Projekte:
[http://labs.apache.org/labs.html]
[19] Alike: [http://svn.apache.org/repos/asf/
labs/alike/]
[20] Mouse: [http://svn.apache.org/repos/asf/
labs/mouse/]
[21] Apache Rat:
[http://creadur.apache.org/rat/]
[22] Clouds: [http://svn.apache.org/repos/asf/
labs/clouds]
[23] Inkubator-Projekte: [http://incubator.
a pache.org/projects/index.html]
[24] Groovy: [http://incubator.apache.org/
p rojects/groovy.html]
[25] Codehaus: [http://www.codehaus.org]
[26] Apache Wave: [http://incubator.apache.
org/projects/wave.html]
[27] Ripple: [http://incubator.apache.org/
projects/ripple.html]

08/2015

Titelthema

Big Data Hadoop 2 und Apache Spark

Kritiker, die Hadoop totsagen wollen und Apache Spark hochleben lassen, handeln voreilig. Hadoop 2 ist dem
Status einer einfachen Anwendung entwachsen und zur Big-Data-Plattform gereift. Eine Bestandsaufnahme
abseits des Big-Data-Hype. Douglas Eadline

Bruce Rolff 123RF

22

www.linux-magazin.de

Hadoop 2

Fischen im Datenmeer

ber Big Data sprechen das erfordert


immer erst eine Definition dessen, was
mit Big Data gemeint ist. Der Begriff ist in
erster Linie Marketing-Geschwurbel mit
entsprechend vielen Bedeutungen und
Interpretationen, vergleichbar Begriffen
wie hoher Berg oder schnelles Auto.
Eine weitere Voraussetzung ist die Erluterung des Konzepts hinter dem Data
Lake. Letzterer ist weniger Buzzword und
anschaulicher als Big Data. Der Artikel
soll erklren, warum Hadoop 2 mehr ist
als eine Map-Reduce-Engine, und auch,
wie Spark sich nahtlos in das Hadoopkosystem einfgt.

Die Begriffe
Wie der Name vermuten lsst, geht es bei
Big Data um die Bearbeitung groer Datenmengen, gerne in Petabytes gemessen.
Wikipedia definiert einige Charakteristika
von Big Data [1], die im Folgenden als
Basis dienen:

Menge: Big Data wird durch die groe


Menge klar definiert. In manchen Fllen
macht es die schiere Menge der Daten
unmglich, sie mit herkmmlichen Methoden zu bearbeiten.
Vielfalt: Die Daten knnen von verschiedenen Quellen stammen, die nicht zwingend miteinander zu tun haben.
Geschwindigkeit: Im Zusammenhang
mit Big Data ist das die Gre dafr, wie
schnell die Daten entstehen und bearbeitet werden knnen.
Variabilitt: Die Daten knnen variabel,
unvollstndig oder inkonsistent sein.
Komplexitt: Die Verbindungen zwischen den Datenquellen mssen nicht
vollstndig klar und fr traditionelle relationale Methoden zugnglich sein.

Big Data kann auch kleiner


Unternehmen und Organisationen knnen nun zwar einige der oben genannten
Ansprche an die Datenverarbeitung ent-

wickeln und trotzdem keinen Bedarf an


der Verarbeitung bergroer Datenmengen haben. Die Annahme, dass alle Firmen auf Petabytes von Daten sitzen, ist
eben nicht notwendigerweise wahr. Im
Blogpost Big Data Surprises [2] liegt
laut den dort betrachteten Erhebungen
die Einstiegsgrenze zu Big Data bei 110
GByte. Die Datenmenge, die ein durchschnittliches Unternehmen zu stemmen
hat, betrgt laut diesen Analysen zwischen 10 und 30 Terabyte.
Der Artikel Nobody Ever got Fired for
Using Hadoop on a Cluster [3] weist
auf mindestens zwei Analyse-Cluster von
Microsoft und Yahoo hin, die auf einen
mittleren Input von weniger als 14 GByte
pro Job kommen. Die Input-Gre von
90 Prozent der Jobs auf einem FacebookCluster liege bei weniger als 100 GByte,
heit es dort weiter.
Eine bessere Beschreibung fr Big Data
Processing wre in dem Fall High Performance Data Processing (HPDP), weil die
zuvor genannten Charakteristika High
Performance Computing bentigen, um
ihr Ziel zu erreichen. Diese Bezeichnung
ist wiederum dem High Performance
Technical Computing (HPTC) hnlich,
das oft als HPC oder Supercomputing
bezeichnet wird. Es liee sich argumentieren, dass HPDP und HPTC das Gleiche
sind oder zumindest groe berlappungen aufweisen. Aktuell sei die Diskussion
aber auf HPDP eingegrenzt.

Die Tiefen des Data Lake


Ein in den Charakteristika nicht genanntes, aber impliziertes Feature ist das Konzept des zentralen Speicherdepots. Obwohl nicht alle Daten in relationalen Datenbanken zugnglich sind, mssen sie

in einer Rohform gespeichert sein. Diese


Charakteristik ist es, die HPDP meist von
traditionelleren Methoden unterscheidet.
Meist als Data Lake bezeichnet steckt
dahinter die Idee, ein groes Repository
fr alle Daten zu schaffen und es nach
Bedarf zu nutzen.
Der Ansatz lsst sich dem der traditionellen relationalen Datenbank oder dem
Data Warehouse gegenberstellen: Daten
dort hinzuzufgen heit, sie in ein vorgegebenes Schema zu transformieren, bevor sie in die Datenbank passen. Diesen
Schritt bezeichnet in der Regel der Begriff
Extract, Transform and Load (ETL), und
der kann teuer und zeitfressend sein.
Noch bedeutsamer ist der Umstand, dass
Entscheidungen, wie die Daten spter
genutzt werden sollen, bereits bei diesem Schritt fallen mssen. Auerdem
gehen bei ETL-Prozess eventuell auch
Daten oder Datenbestandteile verloren,
die nicht ins Schema passen.
Hadoop dagegen fokussiert darauf, Daten im Rohformat zu nutzen. Im Wesentlichen wird das, was sich als eine
Art ETL-Schritt ansehen lsst, erst ausgefhrt, wenn Hadoop-Applikationen
darauf zugreifen. Dieser Schema-beimLesen-Ansatz ermglicht es Programmierern und Nutzern, je nach Bedarf eine
Struktur beim Zugriff zu erzwingen. Der
traditionelle Ansatz des Data Warehouse,
das Schema-beim-Schreiben, erfordert
dagegen Vorausplanung und Annahmen
darber, wie die sptere Datennutzung
eventuell aussehen soll.
Bezogen auf Big Data bietet das DataLake-Konzept drei Vorteile gegenber
dem traditionellen Ansatz:
n Alle Daten sind verfgbar, ohne Annahmen zur knftigen Verwendung
treffen zu mssen.
Die Daten sind teilbar. Verschiedene
n
Geschftsfelder oder Forschungszweige knnen alle verfgbaren Daten
nutzen ohne Zugangsbeschrnkungen
(Kompartimentalisierungseffekte) wegen nicht zueinander passender Systeme.
n
Alle Zugangsmethoden sind verfgbar. Jede Datenverarbeitungs-Engine
lsst sich nutzen, um die Daten zu
erforschen, etwa Map-Reduce, Graph
Processing und In-Memory-Tools.
Um keine Missverstndnisse aufkommen
zu lassen: Hadoop ist nicht auserkoren,

um Data Warehouse zu ersetzen. Data


Warehouse ist ein geschtztes Business
tool. Dennoch fand die Entwicklung der
Data-Warehouse-Technologie vor der Zeit
statt, als sich der Data Lake zu fllen
begann. Die wachsende Zahl von neuen
Datenstrmen aus nicht zusammenpassenden Quellen wie sozialen Netzen,
Sensoren und Click-Trails fliet in diesen
Datensee.
Die Wahl zwischen Hadoop und Data
Warehouse lsst sich als Entweder-oderEntscheidung bezeichnen. Ein Hauptkritikpunkt an Hadoop ist die langsame
Batch-Charakteristik der Map-ReduceJobs. Bedenken gegenber der Performance von Hadoop sind bei Version 1
teils gerechtfertigt, doch zeigt sich Hadoop 2 wie spter nher ausgefhrt
als flexiblere und besser erweiterbare
Plattform.
Die Unterschiede zwischen traditionellem Data Warehouse und Hadoop zeigt
Abbildung 1 schematisch. Das Schaubild zeigt, wie verschiedene Daten in
den ETL-Prozess oder den Data Lake
gelangen. Der ETL-Prozess platziert die
Daten in Schemata, um sie in der relationalen Datenbank zu speichern (Write).
Nutzt eine Hadoop-Anwendung die Daten, wendet sie das Schema beim Lesen
(Read) der Daten aus dem Data Lake an.
Gezeigt ist auch das mgliche Verwerfen
von Daten whrend des ETL-Prozesses.

Hadoop 2 Lake House


Wichtig ist auch der Punkt, an dem Hadoop Daten an den User weitergibt. In
Hadoop 1 war dieser Schritt limitiert
durch eine parallel arbeitende Map-Reduce-Engine. Populre Pakete wie Pig [4]
oder Hive SQL [5] bauten auf dieser Engine auf. In Version 2 ist Hadoop [6] zum
Cluster-Betriebssystem herangewachsen,
das eine Plattform zum Bau von DataLake-Anwendungen vorhlt. Hadoop 2
enthlt ein Map-Reduce-Framework, das
mit Map Reduce aus Version 1 kompatibel ist, auch die meisten Anwendungen
sind ohne nderungen lauffhig, Pig und
Hive eingeschlossen.
Hadoop 1 hatte zwei Kernkomponenten: das Hadoop Distributed File System
(HDFS) der Data Lake fr den Cluster.
Und eine monolithische Map-Reduce-Engine, die Map-Reduce-Jobs und Work-

08/2015

Titelthema

Source B

Source C

24

www.linux-magazin.de

Hadoop 2

Source A

Discarded
Data

ETL

Data Lake

Schema on Write

Data Warehouse

Hadoop

User

Schema on Read

Abbildung 1: Traditionelles Data Warehouse im Vergleich mit dem Hadoop Data Lake.

flows managt. Hadoop 2 hat dieses Design erweitert und bietet mehr Flexibilitt. Die Hauptkomponenten sind auf drei
angewachsen: Das gleiche HDFS wie in
Version 1. Die zweite Komponente heit
Hadoop YARN (Yet Another Ressource
Negotiator) ein nicht auf bestimmte
Anwendungen festgelegter WorkloadScheduler fr User-Jobs.
Als dritte Komponente sind Anwendungen zu nennen. Darunter sind alle unter
YARN lauffhigen Applikationen zu verstehen, die mit YARN-Services auf Cluster-Ressourcen zugreifen und den Data
Lake nutzen. Diese Applikationen knnen beliebige Datenverarbeitungstypen
anwenden etwa Map Reduce, Graph Processing und Message Passing Interface
(MPI). Sogar In-Memory-Anwendungen
wie Apache Spark sind opportun.
Ein Designfeature von beiden Versionen
ist die Nutzung eines einfachen Redundanzmodells. Viele Hadoop-Cluster bestehen aus gewhnlichen Hardwarekomponenten wie x86-Servern, Ethernet und
Festplatten. Da Hardware fehleranfllig
ist, sind redundant ausgelegte Prozesse
und Speicher Teil des Hadoop-Designs
auf Toplevel.
Weil der Map-Reduce-Prozess von Haus
aus funktional ist, flieen Daten nur in
eine Richtung. So lassen sich Input-Dateien als Teil des Prozesses nicht ndern.
Diese Einschrnkung ermglicht ein einfaches Redundanzmodell. Tote Prozesse
in ausgefallenen Nodes lassen sich auf

anderen Servern starten, ohne Resultate


zu verlieren. Die Bearbeitungszeit verlngert sich dabei aber eventuell.

YARN-Scheduler
Hadoop 2 erledigt dieses Level der NonStop-Redundanz im YARN-Scheduler.
Eine Anwendung darf dort bei Laufzeit
Ressourcen anfordern und freigeben. Sie
kann auch zustzliche Ressourcen anfordern, um eine Task zu beenden, sollte ein
Prozess abstrzen. Da die RessourcenVerwendung dynamisch erfolgt, knnen
Anwendungen ungenutzte Ressourcen
freigeben, was die Ausnutzung des Clusters erhht. Diese Situation ist typisch fr
groe Map-Reduce-Jobs, bei denen die
Mapping-Phase oft mehr Prozesse bentigt als die Reducer-Phase.
Die Redundanz erstreckt sich auch auf
das HDFS. Anders als bei vielen HPTCClustern, bei denen parallele I/
O-Prozesse als Subsysteme separat von den
Nodes ausgelegt sind, nutzt ein HadoopCluster gewhnliche Hardware fr Prozess- und Storage-Nodes. Diese Nodes
dienen fter als Processing- und SpeicherElemente gleichermaen. Damit lsst sich
die Abarbeitung bei den Daten erledigen.
So umspannt der Data Lake meist den
ganzen Hadoop-Cluster. Die Ausfhrung
der Jobs kann man sich sinnbildlich wie
bei Flotten von Fischerbooten vorstellen,
die den Data Lake auf der Suche nach
Resultaten durchkreuzen.

Um im Bild zu bleiben, darf man sich


YARN als Bootshaus vorstellen, bei dem
sich Boote zum Fischen auf dem See ordern lassen. Das HDFS ist zudem ebenso
leicht mit gengend Redundanz konfigurierbar, damit der Verlust eines Node oder
Rack nicht zum Datenverlust oder einem
Fehler des laufenden Jobs fhrt. Dieses
Non-Stop-Design ist ein Markenzeichen
von Hadoop-Clustern und es unterscheidet sich von den meisten HPTC-Systemen, in denen vereinzelte Hardwarefehler und daraus resultierende abstrzende
Jobs akzeptabel sind.
Vor Apache Spark sei ein weiteres Projekt
genannt: Apache Tez [7]. Tez operiert im
Hintergrund und widmet sich der Optimierung von Hadoop-Map-Reduce-Jobs.
Die meisten hochkartigen Tools wie
Hive SQL und Pig erzeugen Kombinationen von Map-Reduce-Jobs, die dann
auf dem Cluster ausgefhrt werden. Jeder Map-Reduce-Job arbeitet separat und
schreibt und liest so auch vom HDFS,
nutzt also die Festplatte.
Tez kombiniert diese individuellen Jobs
und vermeidet mglichst die Festplattennutzung, indem das Tool Daten direkt in
den Hauptspeicher (In-Memory) transferiert und so zur nchsten Phase im
Map-Reduce-Workflow. Als Teil des Stinger-Projekts hat Tez die Geschwindigkeit
von Hive-SQL-Jobs auf Hadoop um den
Faktor 50 gesteigert, in manchen Fllen
auch um den Faktor 160 [8].

Apache Spark
Mit erweiterten Map-Reduce-Fhigkeiten
punktet das Projekt Apache Spark [9]. In
erster Linie ist Spark ein Tool fr parallele
In-Memory-Berechnungen. Als schnelles
und allgemein taugliches Cluster-Computing-System hlt es APIs fr Java, Scala
und Python und eine optimierte Engine
fr die generelle Ausfhrung von Graphen
vor. Spark untersttzt diverse Tools, etwa
Spark SQL, die Bibliothek MLlib, GraphX
und Spark Streaming. Zudem bietet Spark
ber 80 High-Level-Operatoren, um parallele Applikationen zu bauen, und lsst
sich interaktiv ber die Shells von Scala
und Python ansprechen.
Spark ist stand-alone im Cluster-Modus
auf EC2, unter Hadoop YARN und Apache Mesos lauffhig. Es kann vom HDFS,
Hbase [10], Cassandra [11] und jeglicher

08/2015

Apache Spark erlebt einen Hype und


bietet die erwhnten Vorzge, unter anderem bei der Geschwindigkeit. Hadoop
2 ist dagegen nicht lnger das One-TrickPony der ersten Ausgabe und die bevorzugte Plattform fr neue Tools, die den
stetig wachsenden Data Lake abfischen.
Bleibt nur, es auszuprobieren.
Spark scheint es dem Anwender dabei etwas leichter zu machen als die Aufgabe,
eine Java-Anwendung fr die Nutzung
des Hadoop-Map-Reduce-API zu schrei-

Info
[1] Big-Data-Characteristika: [http://en.
wikipedia.org/wiki/Big_data]
[2] Big Data Surprises: [http://www.sisense.
com/blog/bigdatasurprises]

[3] Nobody ever got fired for using Hadoop


on a cluster, 1st International Workshop
on Hot Topics in Cloud Data Processing:
[http://research.microsoft.com/pubs/
163083/hotcbp12%20final.pdf]
[4] Apache Pig:
[https://pig.apache.org]
[5] Apache Hive:
[https://hive.apache.org]
[6] Apache Hadoop:
[https://hadoop.apache.org]
[7] Apache Tez:
[http://tez.apache.org/install.html]
[8] Stinger Project:
[http://hortonworks.com/labs/stinger/]
[9] Apache Spark: [https://spark.apache.org]
[10]Apache Hbase:
[http://hbase.apache.org]
[11] Apache Cassandra:
[http://cassandra.apache.org]
Der Autor
Douglas Eadline schreibt und entwickelt seit ber
20 Jahren zum Thema Cluster Computing.

Hadoop 2

Titelthema

Fazit

ben. Der Vorteil liegt darin, dass Entwickler entscheiden knnen, welcher Ansatz
besser fr den Data Lake passt. Hadoop
2 hat bei der Anwendungsentwicklung
einen erstaunlichen Umfang erreicht. Das
schliet Programme ein, die unter Hadoop 1 nicht ausfhrbar waren, und auch
solche fr Hadoop Yarn.
Einige Verwirrung um Hadoop resultiert
daraus, dass es sich von einer Anwendung zur Plattform gemausert hat, auf
der Applikationen wie Spark implementierbar sind. Der Wert einer offenen BigData-Plattform ist hoch einzuschtzen.
Hadoop 2 ist das Betriebssystem fr DataLake-Cluster und ein Meilenstein in der
n
Evolution der Datenanalyse. (uba)

www.linux-magazin.de

Hadoop-Datenquelle lesen. Nicht zuletzt


beschleunigt Spark dank In-MemoryProcessing einige Programme um das
100-Fache gegenber Hadoop-BatchMap-Reduce-Jobs und um das 10-Fache
beim Schreiben auf Festplatte hnlich
den Resultaten mit Tez. Spark ist Teil
des kommenden Stinger-Projekts [8], um
Hadoop Hive SQL zu verbessern.

25

08/2015

Titelthema

Mesos-Framework Aurora

Darum, dass die wichtigen Dienste im Rechenzentrum immer am Laufen sind, will sich das Apache-Projekt
Aurora kmmern. Das Verteilen von Diensten hat Aurora von Twitter gelernt. Udo Seidel

maroti 123RF

26

www.linux-magazin.de

Apache Aurora

Dispatcherdienste

Der Erfolg des Aurora-Projekts [1] hat


viele Vter: Zum Beispiel stand ursprnglich Twitter hinter der Entwicklung, die
Software ist Teil von Mesos [2], das mit
seinem Framework ein Betriebssystem
fr Rechenzentren [3] sein will. Des
Weiteren hat Aurora im Mrz dieses Jahres den Apache-Inkubator verlassen und
firmiert nun als ein vollwertiges ApacheProjekt. Und nicht zuletzt stand auch
Google zumindest indirekt Pate bei diesem Projekt.
Die Anfnge von Aurora reichen in das
Jahr 2010 zurck. Bill Farner, ein Mitglied
des Forschungsteams bei Twitter, startete
damals ein Projekt, um den Betrieb der
Zwitscher-Infrastruktur zu erleichtern.
Die IT-Landschaft des Kurznachrichtendienstes war zu jenem Zeitpunkt betrchtlich gewachsen. Die Betriebsteams
sahen sich mit Tausenden von Rechnern
und Hunderten von Applikationen konfrontiert. Hinzu kam das stndige Ausrollen neuer Softwareversionen.

Jener Bill Farner hatte zuvor bei Google


gearbeitet und dort Einblick in deren
Clustermanager Borg [4] erhalten. So
stand der Internetgigant quasi indirekt
Pate fr Aurora.
In den ersten Jahren fand die Entwicklung nur innerhalb von Twitter und hinter verschlossenen Tren statt. Mehr und
mehr Angestellte trugen zur Weiterentwicklung bei. Aurora wurde fr die verschiedenen Twitter-Dienste immer wichtiger. Schlielich war die ffnung des
Projekts in Richtung der Open-SourceCommunity ein natrlicher Schritt, um
ein so stark gewachsenes Softwareprojekt
pflegen zu knnen. Seit 2013 gehrt Aurora zur Apache-Familie.

Stein auf Stein


Eine zentrale Aufgabe von Aurora bildet
das Starten und berwachen von Diensten in einer IT-Landschaft. Man knnte
es mit einem Rechenzentrums-weiten

Init-Daemon vergleichen. Fllt ein Server


oder eine Anwendung aus, startet Aurora
sie auf einem anderen Rechner neu und
prft, ob alles erwartungsgem funktioniert. Kenner der Materie sehen hier auch
eine Verwandtschaft mit den bekannten
Mesos-Diensten Marathon [5] und eventuell auch Chronos [6]. Der Kasten Anschieber enthlt dazu weitere Details.
Die zweite Verantwortlichkeit von Aurora
ist das Ausrollen neuer Versionen der
berwachten Dienste.
Auerdem registriert Aurora die Dienste
und ermglicht es so anderen Programmen, sie zu nutzen. Dafr greift Aurora
auf Zookeeper [7] zurck. Fr das Starten und berwachen von Diensten nutzt
das Projekt Mesos. Diesem Apache-Projekt hat das Linux-Magazins bereits einen Artikel gewidmet [8]. Dort ist auch
beschrieben, wie Mesos gewissermaen
als Rechenzentrums-Scheduler arbeitet.
Der Artikel erwhnt die Rollen Master
und Slave. Der Master nimmt Aufgaben
entgegen und gibt sie zur eigentlichen
Abarbeitung an Slaves weiter.
Aurora fungiert nun als Abstraktionsschicht zur Aufgabenverteilung durch
Mesos. Man kann es als Meta-Scheduler
bezeichnen. Das Zusammenspiel der einzelnen Komponenten ist in Abbildung 2
dargestellt.

Jobs, Aufgaben, Prozesse


Ein Blick hinter die Kulissen zeigt, dass
das Ganze noch etwas komplizierter ist.
Aurora benutzt Mesos zwar als Unterbau,
kopiert aber zustzlich eigene Komponenten auf die Slaves, um die Tasks abzuarbeiten. Diese speziellen Bestandteile
hren auf den Namen Thermos. Sie erfllen zwei Aufgaben: Zum einen gibt es die
so genannten Exekutoren, die Prozesse

Spark

Chronos

Storm

Jenkins

Aurora

...

Hadoop

Mesos

Knoten 1

Knoten 2

Knoten 3

Knoten 4

...

Knoten N

Abbildung 1: Aurora ist ein so genanntes Mesos-Framework, Mesos seinerseits ebenfalls ein Apache-Projekt.

auf Betriebssystem-Ebene starten. Zum


anderen existieren Observer. Sie sind eine
Art Meldestelle fr die Exekutoren. Sie
erhalten die Statusmeldungen ber die
gestarteten Prozesse und reichen diese
dann an Mesos zurck.
Zum Verstndnis ist es hilfreich, sich an
die Terminologie des Projekts zu halten.
Auf der Aurora-Ebene gibt es Jobs. Die
zerfallen in Tasks der Mesos-Schicht.
Ein Job entspricht daher normalerweise
mehreren Tasks. Auf der Thermos-Ebene
schlielich zerfallen die Tasks in Prozesse, die der Admin mit Kommandos
wie ps oder top betrachten kann. Die
Beschreibung eines Aurora-Jobs enthlt
Instruktionen fr den Meta-Scheduler selber, fr Mesos und Thermos. Angaben
ber Jobs, Tasks und Prozesse definieren
am Ende die Anwendung, die der MetaScheduler berwacht.
Anschieber
Auf den ersten Blick scheinen Aurora und
Marathon den gleichen Zweck zu erfllen,
und beide setzen auf Mesos auf. Beide dienen dazu, lange laufende Anwendungen zu
starten und zu berwachen. Im Detail gibt es
dann doch Unterscheidungsmerkmale: Die Installation und erste Tests gehen bei Marathon
deutlich schneller und leichter von der Hand.
Fr Aurora sind einige Klimmzge ntig. Fr
die ersten Jobs gilt es, die entsprechende Beschreibungssprache zu lernen. Bei Marathon
reichen an dieser Stelle fast rudimentre
Json-Kenntnisse.
Aurora ist ebenso wie Mesos ein natrliches
Mitglied der Apache-Familie. Marathon hingegen ist ein Projekt, das die Firma Mesosphere vorantreibt. Ein weiterer Unterschied
betrifft die Untersttzung der allerneusten
Features und Technologien. Aurora ist hier
etwas konservativer, um die Stabilitt von
Twitter-Diensten nicht unntig zu gefhrden.
Die Integration von Docker beispielsweise
fand bei Marathon frher statt.

Die Entwickler verwenden dafr eine


Python-basierte Domain Specific Language (DSL). Die Beschreibungsdatei besitzt typischerweise die Endung .aurora
und hat mehrere Bestandteile. Einer ist
eine Art Jobschablone, die dazu dient,
Gemeinsamkeiten einfach zusammenzufassen, wenn die Aufgaben auf AuroraEbene identisch sind und sich nur die
Tasks oder Prozesse unterscheiden. Das
vermeidet Redundanzen in der Beschreibung. Nach dieser Vorlage definiert man
die Prozesse (Thermos), Tasks (Mesos)
und Jobs (Aurora).
Das Ganze kann etwas verwirrend wirken. Ein typisches Hallo-Welt-Beispiel
zeigt Listing 1. Ein Prozess-Objekt in
der Aurora-DSL erfordert zwei Angaben:
einen Namen und das auszufhrende
Kommando. Letzteres ist im vorliegenden Fall ein einfaches Echo-Kommando,
das Python ber das OS-Modul ausfhrt.
Ein Task-Objekt bentigt einen Namen
und die zugehrigen Prozesse. Fr Mesos selbst kommen natrlich noch die
notwendigen Ressourcen dazu. Anhand
dieser Angaben sucht sich das System die
passenden Sklaven heraus. In Listing 1
lauten die Anforderung 10 Prozent CPU,
20 MByte RAM und ebenso viel Plattenplatz. Es lassen sich auch mehrere
Prozesse einer Task zuordnen.
Des Weiteren bentigt die Konfiguration
Angaben ber die zugeordneten Tasks,
eine Rolle und die Ausfhrungsumgebung. Die Rolle entspricht oft dem Benutzerkontext, unter dem die zugehrigen Prozesse am Ende laufen. Die Ausfhrungsumgebung wiederum definiert,
welche Aurora-Instanzen sich um den
Job kmmern. Das dargestellte Beispiel
demonstriert nur einen Teil der Mglichkeiten. Wer tiefer einsteigen will, der findet ausreichend Lesestoff in der ProjektDokumentation ([9] bis [12]).

08/2015

Titelthema
Apache Aurora

Zookeeper

www.linux-magazin.de

28

Aurora

Mesos-Meister

Thermos-Observer

Mesos-Sklave 1

Mesos-Sklave 2

...

Mesos-Sklave N

Thermos-Executor
Task

Abbildung 2: Aurora, Zookeeper, Mesos und Thermos im Zusammenspiel.

Wer erste Schritte mit Aurora wagen


mchte, hat mehrere Mglichkeiten.
Empfehlenswert ist die Installation von
Vagrant [13]. Die Projekt-Dokumentation
und auch andere Anleitungen im Internet benutzen dieses Werkzeug zur Installation. Der Weg zu Fu ist deutlich
schwieriger und erfordert zunchst die
Installation eines Mesos-Clusters [14] mit
der zugehrigen Zookeeper-Infrastruktur.

Schwierige Installation
Die Installation der verschiedenen Aurora-Komponenten ist zwar prinzipiell
dokumentiert, aber sehr unbersichtlich. Es geht nicht klar aus ihr hervor,
welche Schritte in welcher Reihenfolge
zu absolvieren sind. Das hat dem Team
des Linux-Magazins einiges Kopfzerbrechen bereitet. Die nchste Hausaufgabe
besteht im Erlernen der Beschreibungssprache. Hier empfiehlt es sich wiederum, mit den einfachen Beispielen aus

der Dokumentation zu beginnen und sie


dann Schritt fr Schritt systematisch zu
erweitern.
Die Einstiegshrden fr den erfolgreichen
Einsatz von Aurora sind nicht gerade
niedrig. Fr kleinere IT-Umgebungen
sollte der Admin daher zunchst sehr
sorgfltig Aufwand und Nutzen abschtzen. In groen Umgebungen mit vielen
Servern, vielen Diensten und stndigen
Software-Updates, lohnt sich dagegen
das Evaluieren des Meta-Schedulers
umso mehr. (jcb)
n

Infos
[1] Aurora: [http://aurora.apache.org]
[2] Mesos: [http://mesos.apache.org]
[3] Mesosphere:
[http://mesosphere.com/product/]
[4] Large-scale cluster management
at Google with Borg: [http://static.
googleusercontent.com/media/research.
google.com/en/us/pubs/archive/43438.pdf]

Listing 1: Hallo-Welt-Version eines Aurora-Jobs


01 
$ cat hallo.welt.aurora

09  processes = [hallo_welt_process])

02 
import os

10 

03 
hallo_welt_process = Process(
04  name = 'hallo_welt',
05  cmdline = 'echo hallo welt')
06 
07 
hallo_welt_task = Task(
08  resources = Resources(cpu = 0.1, ram = 20*MB,
disk = 20*MB),

11 
hallo_welt_job = Job(
12  cluster = 'test',
13  role = os.getenv('USER'),
14  task = hallo_welt_task)
15 
16 
jobs = [hallo_welt_job]

[5] Marathon:
[http://mesosphere.github.io/marathon]
[6] Chronos:
[http://github.com/mesos/chronos]
[7] Zookeeper:
[http://zookeeper.apache.org]
[8] Udo Seidel, Datacenter im Griff
Compute-Cluster fr Rechenzentren:
Linux-Magazin 05/15, S. 76
[9] All about Apache Aurora:
[http://blog.twitter.com/2015/
allaboutapacheaurora]
[10] Aurora Tutorial:
[http://aurora.apache.org
/documentation/latest/
configurationtutorial]
[11] Aurora Configuration Reference:
[http://aurora.apache.org/
documentation/latest/
configurationreference/]
[12] Aurora Users Guide:
[http://aurora.apache.org/
documentation/latest/userguide/]
[13] Vagrant: [http://www.vagrantup.com]
[14] Aurora-Mesos-Cluster: [http://tepid.org/
tech/01auroramesoscluster/]
Der Autor
Dr. Udo Seidel ist eigentlich Mathe- und PhysikLehrer und seit 1996 Linux-Fan. Nach seiner Promotion hat er bei verschiedenen Arbeitgebern
als Linux/Unix-Trainer, Systemadministrator und
Senior Solution Engineer gearbeitet.
Heute ist er ist Evangelist, Architekt und technischer Gouverneur bei der Amadeus Data Processing GmbH in Erding bei Mnchen.

08/2015

Titelthema

Jmeter, Apaches Lasttest-Tool

Wenn eine Site unter den vielen Interessenten chzt, der Webshop unter dem Kuferansturm zusammenbricht
oder bei einer Datenbank nur noch die Festplatten-LEDs Lebenszeichen geben, geraten Admins und Entwickler
unter Stress. Ach, htten sie die Applikation blo in einer ruhigen Stunde unter Last gesetzt! Frank Pientka
den verschiedenen Programmiersprachen
und ber Plugins [4] zum Beispiel fr Selenium oder Hadoop-HDFS erweiterbar.

Nach Testplan handeln

roussien, 123RF

30

www.linux-magazin.de

Apache Jmeter

Stress im Apache-Land

Um bse berraschungen bei der Produktion zu vermeiden, ist es gute Praxis,


seine Anwendung einem ausfhrlichen
Lasttest zu unterziehen. Nur so knnen
der Entwickler der Applikation und der
zustndige Webmaster oder Admin verlsslich feststellen, welche Leistungsmerkmale die aktuelle Installation erfllt
und welche nicht. Die Testergebnisse
sollten so detailliert ausfallen, dass Entwickler und Admin daraus schnell geeignete Anpassungs- und Optimierungsmanahmen abzuleiten vermgen.
Die Apache Software Foundation sendet aus ihrem Reich zu diesem Zweck
das sehr ausgereifte Tool Jmeter [1] in
die weite Entwicklerwelt. Stefano Mazzocchi, in Italien geboren und heute bei
Google in den USA beschftigt, hatte
1998 begonnen Jmeter zu entwickeln,
um Lasttests am Apache-Tomcat-Server
zu absolvieren. Anschlieend fhrte
Mazzocchi seit 1999 Member des Project Management Committee (PMC) von

Apache Jakarta das Tool als JakartaUnterprojekt weiter. Seit 2011 besitzt
Jmeter den Status eines eigenstndigen
Apache-Toplevel-Projekts. Als einer der
wenigen Konkurrenten gilt Grinder 3 [2],
den jedoch schon lnger niemand mehr
weiterentwickelt.
Von Jmeter erscheinen pro Jahr mehrere
Versionen. In der aktuellen 2.13 untersttzt Jmeter von Hause aus die Protokolle HTTP und HTTPS, SOAP, FTP,
JDBC, Mongo DB, LDAP, JMS, AJP, TCP
sowie SMTP, POP3, IMAP und deren
verschlsselte Brder. Der Schwerpunkt
liegt sicher auf dem Lasttest an Webanwendungen. So existieren fr das beliebte
Blogsystem Wordpress fertige JmeterTestplne [3].
Als Installationsvoraussetzung nennt die
Dokumentation eine Java-Laufzeitumgebung (mindestens Version 6, aber auch
8) und passende Treiber fr die anzusprechenden Systeme. Die Funktionalitt
von Jmeter ist jedoch ber Skripte in

Der Anwender ruf das Tool mit jmeter.sh (unter Windows: jmeter.bat)
im Verzeichnis $JMETER_HOME/bin
auf. Dort fhrt es auch die Protokolldatei
jmeter.log, die bei Fehlern zu analysieren wre. Nachdem Jmeter gestartet ist,
bentigt der Anwender einen Testplan.
Dazu kann er fertige Vorlagen abndern,
die im Verzeichnis bin\templates oder
printable_docs\demos liegen. Am einfachsten rufen er File | Templates auf
und whlt aus den angebotenen Vorlagen
Building a Web Test Plan aus. Die Beispielvorlage setzt zwei Anfragen an den
Host [jmeter.apache.org] und die Seiten
/ und /changes.html ab und stellt das
Ergebnis als Graph dar.
Der zweite Weg zu einem Testplan ist, ein
passendes Modell von Grund auf selbst
anzufertigen. Testplne sind in einem
XML-Format ohne XSD-Schema verfasst.
Es lsst sich aber zur Dokumentation per
Stylesheet (extras/schematic.cmd Testplan.jmx) in HTML umwandeln.
Ein mit Jmeter gelieferter Rekorder weist
den dritten und meist komfortabelsten
Weg zu einem Testskript. Zu Beginn trgt
der Anwender in seinem Webbrowser
den Jmeter-Server-Proxy mit Port 8888
und als localhost ein. Dann ruft er die
Vorlage fr den Testskript-Rekorder auf
und startet ihn. Der zeichnet nun alle
Aufrufe auf, die der User im Browser
absolviert. Er kann manuell das Element
Testskript-Rekorder dem Icon-Workbench
hinzufgen mit Add | NonTest Elements
| HTTP(S) Test Script Recorder. Das ist

08/2015

vor allem bei komplexeren Seitenaufrufen mit Anmeldung hilfreich.


Nachdem die Aufzeichnung beendet ist,
lassen sich die Seitenaufrufe, hnlich
wie bei den beiden anderen Wegen, in
Richtung des gewnschten Ablaufs trimmen also in erster Linie mit Variablen
konfigurierbar machen, um den Testplan
beispielsweise fr verschiedene Umgebungen und Hostnamen mit passenden
Parametern aufzurufen (Abbildung 1).

Testplne erweitern
Die Anzahl der simulierten Nutzer legt
Jmeter in Thread Groups mit einer even-

tuell Warmlauf- oder Wartezeit an. Die


eigentlichen Anfragen heien bei Jmeter
Sampler. Deren Ergebnisse sollte der Tester durch Assertion auf Erfolg prfen, um
technische und fachliche Fehler unterscheiden zu knnen. Auch die Nutzung
von Cookies, Logins und das Ausfllen
von Formularen sind mglich.
Die Logic Controller steuern die Abarbeitung einzelner Teile des Testplans. Das
Laufzeitverhalten der einzelnen Threads
lsst sich per Konfiguration beeinflussen. Die Listener-Elemente stellen die
Testergebnisse als Grafik oder Tabelle dar
(Abbildung 2). Parameter legt der Tester
entweder als benutzerdefinierte Konfigu-

Abbildung 2: Der Ergebnisgraph eines fortgeschrittenen Webtestplans.

Verteilt testen
Fr groe Last- und Stresstests ist es
sinnvoll und mglich, den Testplan von
mehreren Jmeter-Installationen abarbeiten zu lassen. Die melden ihre Ergebnisse
per RMI [6] an einen zentralen JmeterBerichtsserver, der ausschlielich fr
das Sammeln und Aufbereiten der Daten
zustndig ist. Der Masterserver und die
Slaveclients startet der Tester wie von
einer Einzelinstallation gewohnt.
In der Datei bin/jmeter.properties des
Masterservers trgt der Benutzer unter remote_hosts die IP-Adressen der
Slavec
lients ein oder bergibt sie auf

www.linux-magazin.de

Apache Jmeter

Titelthema
Abbildung 1: Ein einfacher Webtestplan mit Konfigurationselementen.

rationselemente (im GUI: User Defined


Variables) am Anfang des Testplans fest
oder gibt sie Jmeter als Umgebungsparameter mit. Im ersten Fall referenziert
zum Beispiel ${host} den Rechnernamen in anderen Elementen. Im zweiten
Fall, bei jmeter Jhost=www.yyy.com,
bergibt man den Parameter mit ${__
property(host) } (ein per $Variable
referenziertes Java-Property).
Die groe Kunst besteht jetzt darin, den
Testplan flexibel erweiterbar und einfach
konfigurierbar zu gestalten, indem der
Benutzer die Verbindungsparameter und
Stellgren in Variablen auslagert [5].
Diese kann er leicht vor dem Aufruf anpassen, ohne jedes Mal den Testplan ndern zu mssen.

31

08/2015

Titelthema
Apache Jmeter

Remote-Start Slave 1
Slave 1

Remote-Start All

www.linux-magazin.de

Master-GUI

32

zu testendes
System

jmeter.properties
remote_hosts=
Slave 1, Slave 2,
Slave 3

Slave 2

Slave 3

Remote-Start Slave 3

Abbildung 3: Ein typischer verteilter Master-Slave-Test mit drei Slaves.

der Kommandozeile zusammen mit dem


Testplan:

diesen als Parameter mit auf den Weg


bekommen:

jmeter n t script.jmx R Slave1,Slave2,U

jmeter H My.Proxy.Server P 8000U

Slave3

Den auf dem Master geladenen Testplan


startet er ber das GUI des Masters entweder einzeln oder er verteilt und startet
ihn ber Remote Start All auf allen
Slaveclients. Remote Stop beendet die
Testaktivitten wieder. Ein typischer
verteilter Testaufbau schaut wie in Abbildung 3 aus. Der Benutzer sollte die
Daten ber die grafische Auswertung hinaus speichern, um die Ergebnisse fr
Dokumentations- und Vergleichszwecke
zu archivieren.

Proxys, Protokollieren,
Maven
Soll Jmeter Webseiten testen, die hinter
einem Firmenproxy sitzen, muss das Tool
Listing 1: Maven-Plugin einbinden
01 <plugin>
02 

<groupId>com.lazerycode.jmeter</groupId>

03 

<artifactId>jmetermavenplugin</artifactId>

04 

<version>1.10.1</version>

05 

<executions>

06 

<execution>

07 

<id>jmetertests</id>

08 

<phase>verify</phase>

09 

<goals>
<goal>jmeter</goal>

10 
11 
12 
13 

</goals>
</execution>
</executions>

14 </plugin>

u Username a Password N localhost

Wer Jmeter ohne Oberflche starten will,


um die Ergebnisse in einer separaten Datei abzulegen, fgt die Parameter n t
my_test.jmx l log.jtl hinzu. jmeter ?
listet weitere Kommandozeilen-Parameter aus. Bei greren Testplnen kann es
ntig werden, die Speichereinstellungen
fr die Java-Laufzeitumgebung in der
Startdatei zu optimieren wie HEAP
passend zur eingesetzten JVM.
Inzwischen hat das Projekt auch die TLSUntersttzung verbessert, sodass der
Testskript-Rekorder auch damit funktioniert. Soll der Lasttest im kontinuierlichen Integrationsprozess ablaufen, so
gibt es fr das Build-Tool Maven ein passendes Plugin [7]. Das kann das Konstrukt in Listing 1 in die pom.xml-Datei
einbinden und konfigurieren.
Wer einzelne Protokolle der eingangs
aufgezhlten, beachtlichen Liste praktisch anwenden will, muss mindestens
die minimalen Parameter der jeweiligen
Konfigurationselemente [8] angeben,
beispielsweise fr JDBC oder SMTP die
Verbindungsinformationen.

Falschmessungen vermeiden
Sptestens seit Heisenberg ist es Allgemeingut, dass die Messung selbst oft das
Messergebnis beeinflusst. Praktisch kein
Lasttest kann messbedingte Seiteneffekte
und Messungenauigkeiten ganz vermei-

den. Um die Auswirkungen zu minimieren, sollten Tester ihren Messungen eine


Warmlaufphase gnnen und jede gewertete Messung wiederholen. Auerdem
sollten sie die Last besser auf mehrere
Slaves verteilen, damit nicht der einzelne
Testclient zum Engpass wird.

Fazit
Apache Jmeter erweist sich in der Praxis
als ein gut handhabbares Werkzeug, um
einfache Lasttests durchzufhren. Es ist
auch fr grere verteilte Lasttests leistungsstark genug. Hier liegen klar seine
Strken. Frs gezielte Auswerten der
Tests und das grafische Aufbereiten der
Ergebnisse ist der Benutzer dagegen auf
externe Spezialwerkzeuge wie Excel oder
Matplotlib angewiesen.
Die beiliegenden Vorlagen, Beispiele und
Dokumentationen helfen beim Einstieg.
Im Open-Source-Reich trifft Jmeter kaum
auf ernsthafte Konkurrenten, sodass es
sich unbekmmert auch beim Publikum
kommerzieller Lasttestwerkzeuge als
kostenlose und verlssliche Alternative
empfehlen und etablieren kann. (jk) n

Infos
[1] Jmeter: [http://jmeter.apache.org]
[2] Grinder 3: [http://grinder.sourceforge.net]
[3] Jmeter-Testvorlagen fr Wordpress:
[https://github.com/jmetertemplates/
wordpress], [http://blazemeter.com/blog/
increasingproductivitywordpresssite
whenusingblazemeteritseasytask]
[4] Jmeter-Erweiterungen:
[http://jmeterplugins.org]
[5] Jmeter-Tipp-Sammlung:
[http://blazemeter.com/apachejmeter]
[6] Jmeter-Master-Slave-Test: [http://jmeter.
apache.org/usermanual/remotetest.html]
[7] Jmeter-Maven-Plugin:
[https://github.com/jmetermavenplugin/]
[8] Jmeter-Konfigurautionselemente:
[http://jmeter.apache.org/usermanual/
component_reference.html]
Der Autor
Frank Pientka ist Senior Software Architect bei
der Materna GmbH in Dortmund. Er ist zertifizierter SCJP und Grndungsmitglied des I-SAQB. Als
Autor des Buches zu Apache Geronimo beschftigt er sich viel mit dem Einsatz von Java-OpenSource-Software.

08/2015

Titelthema

Performance-Tuning fr den Apache-Webserver

Das rasante Wachstum des Internets verlangt Webservern immer mehr ab. Kann Apaches altgedienter HTTPServer hier noch mithalten? Er kann wenn der Admin den Bogen raus hat. Christoph Mitasch

beispielsweise auf einem Produktivsys


tem beim Experimentieren nicht die be
stehende Konfiguration zu zerschieen,
versioniert der Admin diese am besten
mit etckeeper [3]. Auerdem testet er
neue Konfigurationen noch vor einem
Neustart oder Reload des Dienstes bes
ser ber apache2ctl t auf syntaktische
Korrektheit.

RAM, RAM, nochmals RAM

lightpoet, 123RF

34

www.linux-magazin.de

Apache HTTP-Server

Pfeilschnell

Apaches HTTP-Server bleibt der meist


genutzte Webserver im Internet [1], auch
wenn die erste Version bereits vor zwei
Jahrzehnten erschien im April 1995.
Das liegt auch daran, dass ihn das Projekt
stndig weiterentwickelt. Er punktet im
Wettbewerb zudem durch seinen modu
laren Aufbau und die damit einherge
hende groe Funktionsvielfalt.
Doch die Konkurrenz schlft nicht, und
so sind seit ein paar Jahren alternative
Webserver auf dem Vormarsch, allen vo
ran Nginx. Das entging auch der Apa
che Software Foundation nicht, weshalb
sie sich fr Version 2.4 das Ziel setzte,
in puncto Performance wieder den An
schluss an Nginx zu finden.
Ob das gelungen ist, darber streiten
die Fachleute. Fakt ist, dass die neue
Version die alte in Sachen Performance
berflgelt. Das belegt unter anderem ein
Vergleich der Webserver-Versionen von
Debian Wheezy (2.2.22) und Debian Jes
sie (2.4.10). Wie Abbildung 1 zeigt, arbei

tet der Server in Version 2.4 eine Million


Zugriffe etwa 20 Sekunden schneller ab
als die Vorgngerversion 2.2.
Unter Jessie haben die Tester dazu an
stelle des Multi Processing Module Event
(MPM) das MPM Worker aktiviert, um
das gleiche Modul zu verwenden. Ge
testet haben sie den direkten Zugriff auf
localhost in einer Virtualbox-VM mit
512 MByte RAM. Beim Vergleich kam
Apaches Benchmarktool ab [2] zum
Einsatz, das jeweils auf eine Textdatei mit
dem Inhalt hello world zugriff.
Wie performant der Server eine Web
seite ausliefert, hngt allerdings noch
von anderen Faktoren ab. So verwenden
die Webapplikationen meist Skriptspra
chen wie PHP und Perl, hinzu kommen
Datenbankabfragen (etwa ber MySQL).
Ein Admin sollte im Hinterkopf behal
ten, dass auch sie nicht selten die Perfor
mance ausbremsen.
Wer den Apachen tunen mchte, sollte
jedoch ein paar Dinge beachten. Um sich

Jeder HTTP-Prozess auf dem Webserver


bentigt einige MByte RAM. Daher ist
es fr viele Zugriffe essenziell, dass aus
reichend Arbeitsspeicher verfgbar ist.
Reicht der nicht aus, beginnt der Server
zu swappen, er lagert den Arbeitsspei
cher auf die Festplatte aus. Weil der Da
tendurchsatz von Festplatten selbst in
Zeiten von SSDs noch immer um ein
Vielfaches langsamer ist als der des RAM,
sollte der Admin das nach Krften ver
hindern.
Unter Linux bedeutet mehr RAM zu
gleich, dass der Kernel einen greren
Pagecache halten kann, was I/O-Abfra
gen massiv beschleunigt. Auch dies sollte
der Admin bei der RAM-Dimensionierung
bercksichtigen. Des Weiteren muss er
die Apache-Konfiguration auf den ver
fgbaren Arbeitsspeicher abstimmen. Er
laubt er zu viele Prozesse, ist der verfg
bare Speicher schnell aufgebraucht. Fr
das MPM Prefork bietet sich die Formel
aus Abbildung 2 an.
Apachebuddy.pl
Das Perl-Skript apachebuddy.pl gibt automatisiert Tipps, die einem Admin dabei
helfen, den Apachen in Bezug auf den Arbeitsspeicher zu konfigurieren. Listing 1 zeigt
einen Auszug von einem Webserver, der noch
unter Debian Squeeze LTS luft.

08/2015

Titelthema
Apache HTTP-Server
www.linux-magazin.de

Abbildung 1: Bereits in der Standardkonfiguration zeigt sich Apaches HTTP-Server unter Debian Jessie performanter als unter Debian Wheezy.

Die einzelnen Werte kann der Admin zum


Beispiel ber top ermitteln (Abbildung
3). Indem er [Shift]+[M] drckt, zeigt
top die Prozesse sortiert nach Speicher
bedarf an. In der Spalte RES erscheint
der tatschliche Arbeitsspeicherbedarf
der Prozesse.
Im Beispielsetup standen insgesamt 16
GByte RAM zur Verfgung. MySQL be
ntigte 39 MByte, der grte ApacheHTTP-Prozess gerade mal 22 MByte.
Den Nameserver Bind kann der Admin
vernachlssigen, er beansprucht nicht
einmal 1 MByte RAM.

Zieht der Administrator hier also die


in der Abbildung 2 vorgestellte Formel
heran und fr das Betriebssystem 100
MByte sowie fr MySQL noch mal 50
MByte ab und sieht zugleich fr den
Page
cache 2 GByte vor, kommt er am
Ende auf einen Wert von 644 fr Max
RequestWorkers. Diese Variable legt fest,
wie viele Anfragen der Server im Ernstfall
zeitgleich abarbeiten kann.
Um dem Server im Ernstfall etwas Luft zu
verschaffen, wre im konkreten Fall ein
Maximum von 400 Zugriffen eine gute
Wahl. Alternativ kann der Serverbetrei

ber auch kleine Helfer einsetzen, welche


die Kalkulation bernehmen (siehe Kasten Apachebuddy.pl).

Multiprocessing-Module
Apache HTTP untersttzt in Version 2.4
unter Linux drei verschiedene Multipro
cessing-Module (MPM):
nPrefork
nWorker
nEvent
Seit Version 2.4 kann der Server MPMs
zudem zur Laufzeit laden.

Listing 1: apachebuddy.pl
01 root@testserver:~# wget apachebuddy.pl O apachebuddy.pl

24 T
he smallest apache process is using 15.01 MB of memory

02 
root@testserver:~# perl apachebuddy.pl

25 T
he average apache process is using 20.53 MB of memory

03 ######################################################################

26 G
oing by the average Apache process, Apache can potentially use 3079.51

04
05 
# Apache Buddy v 0.3 #################################################
06
07 ######################################################################

MB RAM (19.22 % of available RAM)


27 G
oing by the largest Apache process, Apache can potentially use 4588.51
MB RAM (28.64 % of available RAM)
28 

08

enerating reports...
29 G

09 
Gathering information...

## GENERAL REPORT ###


30 #

10 
We are checking the service running on port 80

31 

11 
The process listening on port 80 is /usr/sbin/apache2

32 S
ettings considered for this report:

12 
The process running on port 80 is Apache/2.2.16 (Debian)

33 

13 
Apache has been running 7d 01h 39m 11s

34 

Your server's physical RAM:

16024MB

14 
The full path to the Apache config file is: /etc/apache2/apache2.conf

35 

Apache's MaxClients directive:

150

15 
Apache is using prefork model

36 

Apache MPM Model:

prefork

16 

37 

Largest Apache process (by memory):

30.59MB

17 
Examining your Apache configuration...

 OK ]
38 [

Your MaxClients setting is within an acceptable range.

18 
Apache runs as apache

39 

Max potential memory usage:

4588.5 MB

19 
Your max clients setting is 150

40 
Percentage of RAM allocated to Apache

28.64 %

20 

41 

21 
Analyzing memory use...

42 

22 
Your server has 16024 MB of memory

43 

23 
The largest apache process is using 30.59 MB of memory

44 

35

08/2015

Titelthema
Apache HTTP-Server
www.linux-magazin.de

36

mod_mpm_event.so),
das seit Apache 2.4 als
stabil gilt.
Die wichtigsten Optio
Abbildung 2: Die Anzahl der Prozesse auf einem Apache-Server sollte der Admin an die Gre des verfgbaren RAM anpassen.
nen fr MPM Worker
und Event sind identisch:
griffe. Beachtenswert ist auch die Direk
n ThreadsPerChild
Das MPM Prefork (Modulname: mod_
n MinSpareThreads, MaxSpareThreads
tive ServerLimit, die eine Obergrenze
mpm_prefork.so) kommt ohne Threads
aus. Fr jeden Zugriff existiert ein ei
fr MaxRequestWorkers festlegt, der n MaxRequestWorkers
gener Prozess im System. Beim Einsatz
Standardwert liegt bei 256.
n ServerLimit
Wer fr MaxRequestWorkers einen
ThreadsPerChild legt fest, wie viele
von PHP als Apache-Modul ist dies im
Normalfall die einzige Option fr den
greren Wert erwartet, muss die Direk
Threads ein einzelner Prozess erstellen
Betrieb, denn in PHP gibt es zu viele
darf. MinSpareThreads und MaxSpare
tive ServerLimit parallel dazu erhhen.
Bibliotheken von Drittanbietern, die noch MaxConnectionsPerChild legt fest, wie Threads funktionieren analog zu den
nicht Thread-safe sind [4].
viele Verbindungen ein einzelner Prozess oben erwhnten Direktiven MinSpare
abarbeiten darf. In einer perfekten Welt Servers und MaxSpareServers.
Wer ein Threaded MPM zusammen mit
ist der Wert 0, was bedeutet, dass der Ser
MaxRequestWorkers limitiert die ge
PHP verwenden mchte, kann dies mit
ver Prozesse fr alle folgende Requests
samte Anzahl an Threads. Der Standard
Fast CGI und PHP-FPM realisieren. Ob
wert von ServerLimit liegt im Falle von
sich der Umstieg lohnt, ist aus Perfor nie neu startet. Bei umfangreichen Ap
plikationen kann es jedoch sinnvoll sein,
Threaded MPMs bei 16. Multipliziert der
mancesicht jedoch fraglich. Die Vorteile
Admin ThreadsPerChild (Standard:
Prozesse nach ein paar Hundert Verbin
durch das Threaded MPM verlieren sich
dungen wieder zu erneuern. Das gibt den 25) mit ServerLimit (Standard: 16), er
aufgrund der Performance-Nachteile, die
hlt er das obere Limit fr die Anzahl
eine PHP-Integration ber Fast CGI nach vom Prozess verwendeten RAM-Bereich
wieder frei, was Memory Leaks vorbeugt.
an Threads. Die Default-Einstellung er
sich zieht, teilweise wieder [5].
Reichen die konfigurierten MaxRequest
laubt somit einen Wert von maximal 400
Die folgenden Optionen sind beim MPM
Workers nicht aus, erscheint im Logfile
Threadsfr MaxRequestWorkers.
Prefork relevant:
die Meldung aus Listing 2.
nStartServers
nMinSpareServers, MaxSpareServers Ohne PHP-Modul kann der Admin ein
nMaxRequestWorkers
Threaded MPM ohne Bedenken einset
Apache HTTP liefert etwa 120 Module
nServerLimit
zen. Dadurch arbeitet der Server einen
mit und integriert auf Wunsch noch viele
nMaxConnectionsPerChild
Zugriff durch einen einzelnen Thread ab
StartServers legt fest, wie viele Pro
statt durch einen einzelnen Prozess. Da weitere von Drittanbietern [6]. Die Ser
zesse der Webserver nach einem Neu
verbetreiber sollten stets im Hinterkopf
ein Thread weniger Overhead erzeugt als
start vorweg starten soll. MinSpareSer ein Prozess, erreicht der Server so eine
behalten, dass zustzliche Module meist
auch mehr RAM bentigen. Es ergibt
ver und MaxSpareServers bestimmen,
bessere Performance.
Unter Apache stehen zwei Threaded sowohl aus Performance- als auch aus
wie viele unbenutzte Prozesse Apache
mindestens vorhalten soll beziehungs
MPMs bereit. Mit Version 2.0 haben die Sicherheitssicht Sinn, aktivierte Module
weise maximal vorhalten darf. MaxRe
Entwickler MPM Worker (Modulname:
zu prfen (Listing 3) und nicht bentigte
mod_mpm_worker.so) eingefhrt, seit
zu deaktivieren.
questWorkers (bis 2.3.13 MaxClients)
limitiert die maximale Prozessanzahl und
Version 2.2 gibt es ein zustzliches Threa Debianer und Ubuntu-User aktivieren
somit die Anzahl der gleichzeitigen Zu ded MPM namens Event (Modulname:
und deaktivieren Module ganz einfach
ber die Kommandos a2enmod bezie
hungsweise a2dismod. In der Standard
konfiguration ist Apache 2.4 aber bereits
ausreichend aufgerumt. Es hilft zudem,
dass a2dismod warnt (Listing 4), falls
der Admin ein essenzielles Modul ab
schalten mchte. Unter Centos und RHEL
verwaltet er die Module in der Regel ber
die Datei /etc/httpd/conf.d/.

Module entschlacken

Abbildung 3: Das Linux-Standardtool top zeigt die Prozesse des HTTP-Servers an.

Listing 2: Logfile-Meldung
01 
[Fri Jun 05 13:15:24.760818 2015] [mpm_prefork:error] [pid 1649] AH00161: server reached
MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

DNS-Lookups und Keepalive


Die Direktive HostnameLookups sollte
ein Admin unbedingt auf No stellen,
was Apache seit Version 1.3 ohnehin
standardmig tut. Ist sie aktiviert, star

08/2015
<Files ~ "\.(cgi)$">
HostnameLookups on
</Files>

Die Direktive KeepAlive aktiviert


Keepalive-Verbindungen per Default.
Dadurch verarbeitet eine einzige TCPVerbindung mehrere Anfragen. Ein Prob
lem dabei ist, dass ein zu hoher Wert fr
KeepAliveTimeout zu viele wartende
Prozesse oder Threads generiert.

Unntigen Verwaltungs-IO
vermeiden
Hufig verwenden Admins .htaccessDateien, die den Apache-Server direkt
aus dem DocumentRoot heraus steu
ern und sich zum Beispiel um IP-Limitie
rungen, Passwortabfragen oder Rewrites
kmmern. Hierbei kommt die Direktive
AllowOverride zum Zuge. Der Nachteil:
Bei jedem Zugriff prft der Webserver,
ob eine .htaccess-Datei im jeweiligen
Verzeichnis liegt, die er verarbeiten muss.
Der Admin sollte die Direktive Allow
Override daher global so weit wie mg
lich auf None setzen und sie nur expli
zit fr jene Verzeichnisse erlauben, wo
er sie einsetzt.
Prinzipiell kann er jede Konfiguration
einer .htaccess-Datei auch direkt in
der Apache-Konfiguration vornehmen,
doch hat er im Shared-Hosting-Umfeld
oft keinen direkten Zugriff auf die ConfigDateien, obwohl die Webapplikationen
bestimmte Apache-Features bentigen.

Browser-Caching
Das Modul mod_expires kann Browser
anweisen, bestimmte statische Inhalte fr
lngere Zeit zu cachen. Dies reduziert
die Anzahl der Anfragen an den Apa

che-Webserver. Das Modul aktiviert der


Admin unter Debian und Ubuntu ber:
a2enmod expires

Danach legt er fest, fr welche Dateitypen


er das wnscht (Listing 5).
Ebenfalls relevant ist es, Inhalte kompri
miert auszuliefern. Das bernimmt das
Modul mod_deflate. Unter Debian exis
tiert auch schon eine Standardkonfigu
ration fr dieses Modul (Listing 6). Seit
Apache 2.4 komprimiert mod_deflate
Dateien nur dann, wenn der Overhead
aufgrund der Kompression kleiner ist als
die zu komprimierenden Daten. Ganz
kleine Dateien tastet er also mitunter
nicht an. Listing 7 zeigt, wie der Admin
anhand des Serverheaders die Verfallsda
ten und Kompression berprft.

Statischen und dynami


schen Content trennen
Bentigen einzelne Apache-Prozesse viel
RAM (etwa wegen einer umfangreichen

Listing 3: Geladene Module auflisten


01 root@debian:~# apache2ctl M

15 authn_file_module (shared)

02 
Loaded Modules:

16 authz_core_module (shared)

03 core_module (static)

17 authz_host_module (shared)

04 so_module (static)

18 authz_user_module (shared)

05 watchdog_module (static)

19 autoindex_module (shared)

06 http_module (static)

20 deflate_module (shared)

07 log_config_module (static)

21 dir_module (shared)

08 logio_module (static)

22 env_module (shared)

09 version_module (static)

23 filter_module (shared)

10 unixd_module (static)

24 mime_module (shared)

11 access_compat_module (shared)

25 mpm_prefork_module (shared)

12 alias_module (shared)

26 negotiation_module (shared)

13 auth_basic_module (shared)

27 php5_module (shared)

14 authn_core_module (shared)

28 setenvif_module (shared)

Listing 4: Modulwarnung
01 
root@debian:~# a2dismod mime

04 
unless you know exactly what you are doing!

02 
WARNING: The following essential module will be

05 mime

disabled.
03 
This might result in unexpected behavior and
should NOT be done

06 
07 
To continue type in the phrase 'Yes, do as I
say!' or retry by passing 'f':

Listing 5: Verfallsdaten fr Dateitypen


01 
ExpiresActive on
ExpiresByType image/gif "access plus 1 months"
02 

05 
ExpiresByType application/xfontwoff
"access plus 1 months"
06 
ExpiresByType application/javascript

03 
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months
04 

"access plus 1 months"


07 
ExpiresByType text/css "access plus 1 months"

Apache HTTP-Server

Titelthema
HostnameLookups off

hnlich verhlt es sich auch mit der


Option SymLinksIfOwnerMatch der
Options-Direktive. Aus Sicherheits
grnden ergibt es im Shared Hosting
Sinn, wenn sie aktiviert ist. Aus Perfor
mancesicht weniger, weil der Server bei
Zugriffen zustzlich den Besitzer von
Symlinks prfen muss.
Wer alles aus seinem Webserver her
ausholen mchte, der verwendet die
Direktive DirectoryIndex besser ohne
Wildcard (index). Ebenso sollte er die
Option MultiViews deaktivieren und
stattdessen Type-Maps verwenden. Nicht
zuletzt empfiehlt es sich, den SendfileSupport auf EnableSendfile On zu stel
len, wobei sich hieraus unter Umstnden
Probleme mit Netzwerkmounts ergeben.

www.linux-magazin.de

tet Apache fr jede Webserververbindung


einen zustzlichen DNS Reverse Lookup,
was ihn unntig ausbremst. Alternativ
bernehmen eine eigene Log-Analyse
software oder das Apache-Tool logre
solve die DNS-Auflsung.
hnlich verhlt es sich auch mit der
Direktive Allow/Deny from example.
org beziehungsweise der seit Version
2.4 empfohlenen Syntax Require host
example.org. Auch sie fhrt zu unnti
gen DNS-Lookups, weshalb Apache-Be
treiber besser eine IP-Adresse verwenden:
Allow/Deny from 192.0.2.0 und Re
quire ip 192.0.2.100.
Wer nicht auf die Hostname-Lookups ver
zichten mchte, kann diese Mglichkeit
auch explizit fr bestimmte Dateien oder
Verzeichnisse aktivieren:

37

08/2015

Quelle: [https://www.percona.com/
doc/perconamonitoringplugins/1.1/]

Titelthema
Apache HTTP-Server

Abbildung 5: Verschiedene Monitoring-Lsungen lassen sich mit dem Apache-Server

www.linux-magazin.de

38

verbinden, unter anderem Percona.

zustzlichen ApacheWebserver via mod_


proxy weiterleitet.
Alternativ verwendet
er eigene (Sub-)Do
mains fr statische
Inhalte wie etwa sta
tic.linuxmagazin.de,
oder, wie bei Youtube,
gleich eine eigene Do
main (i.ytimg.com).
Abbildung 4: Die Statistiken helfen dem Admin bei der Analyse, sollten aber
nicht im Internet verfgbar sein.

PHP-Applikation), kann es vorteilhaft


sein, dass nicht gerade diese berbeschf
tigten Prozesse die statischen Inhalte
ausliefern. Den Job sollte vielmehr ein
zustzlicher Apache-Server mit mglichst
schlanker Konfiguration und minimalem
Speicher-Footprint bernehmen. Die
sen macht der Admin dann zum Front
end-Server, der PHP-Anfragen an den

Monitoring

Das Modul mod_sta


tus erlaubt Interessierten, Aktivitt und
Performance des Apache-Servers abzu
fragen. Per Default ist das Modul inaktiv.
Der Admin schaltet es unter Debian oder
Ubuntu einfach ber
a2enmod status

ein. Die URL fr den Zugriff lautet nor


malerweise /serverstatus. Den Zugriff

Listing 6: Standardkonfiguration fr mod_deflate


01 
AddOutputFilterByType DEFLATE text/html text/plain text/xml
02 
AddOutputFilterByType DEFLATE text/css
03 
AddOutputFilterByType DEFLATE application/xjavascript application/javascript application/ecmascript
AddOutputFilterByType DEFLATE application/rss+xml
04 
AddOutputFilterByType DEFLATE application/xml
05 

Listing 7: Serverheader-Check
01 
root@debian:~# wget serverresponse

09  LastModified: Fri, 05 Jun 2015 13:02:45 GMT

header="acceptencoding: gzip"

10  ETag: "aa0517c4e8861a8agzip"

http://localhost/test.css

11  AcceptRanges: bytes

20150607 06:06:57
02 

http://localhost/

test.css
Resolving localhost (localhost)... ::1,
03 
127.0.0.1
04 
Connecting to localhost (localhost)|::1|
:80... connected.

12  Vary: AcceptEncoding
13  ContentEncoding: gzip
14  CacheControl: maxage=2592000

darauf muss der Admin meist noch ex


plizit erlauben:
<Location /serverstatus>
SetHandler serverstatus
Require ip 192.0.2.0/24
</Location>

Startet er anschlieend noch den Webser


ver neu, sollte der Zugriff auf die Status
seite funktionieren jedoch hoffentlich
nur aus dem LAN heraus (siehe Kasten
Zu gut erreichbar)
Die Statusseite kommt bei der manuellen
Analyse zum Einsatz, um zum Beispiel
spezielle Lastspitzen zu messen. Dane
ben bildet diese Seite die Grundlage fr
automatisiertes Monitoring, das etwa
ber ein Nagios- oder Icinga-Plugin ([7],
[8]) oder ber das Percona Apache Mo
nitoring Template fr Cacti (Abbildung 5,
[9]) erfolgen kann. Damit berwacht der
Admin den Apache-Webserver systema
tisch und wertet die Daten aus.
Logischerweise verursacht mod_sta
tus einen gewissen Overhead. Wer je
doch sein System sinnvoll berwachen
mchte, sollte die zwei zustzlichen Sys
temcalls pro Zugriff in Kauf nehmen.

Benchmarks
Um die Tuning-Manahmen auf ihre
Sinnhaftigkeit zu berprfen, sollte der
Admin konkrete Zahlen zum Webserver
ermitteln. Der bringt dafr sein eigenes
Benchmarktool namens ab mit, das di
rekt ber HTTP/HTTPS arbeitet und sich
fr beliebige Webserver einsetzen lsst.
Der Tester konfigurierte die Anzahl der
Requests (-n Requests) und die Anzahl

15  Expires: Tue, 07 Jul 2015 04:06:57 GMT


16  ContentLength: 102
17  KeepAlive: timeout=5, max=100

HTTP request sent, awaiting response...


05 

18  Connection: KeepAlive

06  HTTP/1.1 200 OK

19  ContentType: text/css

07  Date: Sun, 07 Jun 2015 04:06:57 GMT

20 
Length: 102 [text/css]

08  Server: Apache/2.4.10 (Debian)

21 
Saving to: 'test.css'

Zu gut erreichbar
Die Server-Statusseite des offiziellen Apache-Webservers (Abbildung 4) ist ffentlich
zugnglich. Ist der eigene Server ber das
Internet erreichbar, ist eine Verffentlichung
also nicht zu empfehlen.

08/2015

Bevor der Admin seinen Apachen gegen


einen anderen Webserver eintauscht,
sollte er zunchst nach Bottlenecks in
den Webapplikationen schauen. Hufig

Infos
[1] Netcraft Webserver Survey May 2015:
[http://news.netcraft.com/archives/2015/
05/19/may2015webserversurvey.html]
[2] Apaches Benchmarktool ab:
[http://httpd.apache.org/docs/2.4/programs/ab.html]
[3] Versionierung von /etc/ mit etckeeper: [https://www.thomaskrenn.com/de/
wiki/EtcVerzeichnis_mit_etckeeper_versionieren]

[4] PHP-FAQ zu Threaded MPM:


[http://php.net/manual/en/faq.installation.
php#faq.installation.apache2]
[5] Apache versus Nginx:
[http://www.eschrade.com/page/
whyisfastcgiwnginxsomuch
fasterthanapachewmod_php/]
[6] Apaches Drittanbieter-Module:
[https://modules.apache.org]
[7] Nagios-Plugins fr den HTTP-Server:
[https://exchange.nagios.org/directory/
Plugins/WebServers/Apache]
[8] Icinga und der Apache-Webserver:
[https://exchange.icinga.org]
[9] Percona Apache Monitoring Template fr
Cacti: [https://www.percona.com/doc/
perconamonitoringplugins/1.1/cacti/
apachetemplates.html]
[10]Xhprof: [http://xhprof.io]
Der Autor
Christoph Mitasch arbeitet bei der Thomas Krenn
AG und hat Computer- und Mediensicherheit an
der FH Hagenberg studiert.

Apache HTTP-Server

Titelthema

Resmee

bremst nicht der HTTP-Server selbst,


sondern eine umfangreiche PHP-Anwen
dung, die zu viele Datenbankabfragen
generiert. Erst danach sollte sich der
Blick auf die Performance des Webser
vers selbst richten. Die lsst sich ber
zahlreiche Direktiven an verschiedenen
Ecken optimieren. Versehen mit ausrei
chend RAM gengt Apaches Server dann
auch noch den heutigen PerformanceAnsprchen des Admin. (kki)
n

www.linux-magazin.de

gleichzeitiger Zugriffe (-c Concurrency).


Abbildung 1 zu Beginn des Artikels zeigt
einen Aufruf.
Ein komplexeres Benchmarktool, das
auch von der Apache Software Founda
tion stammt, ist das Java-basierte Jmeter
(siehe Artikel im Schwerpunkt), weitere
Tools heien curlloader und httperf.
Vorsicht ist bei produktiven Systemen ge
boten, um sie nicht ungewollt selbst mit
einem Denial-of-Service auszuknocken.
Betreiber einer PHP-Applikation sollten
sich einen PHP-Profiler anschauen, zum
Beispiel Xhprof [10]. Erst dadurch lsst
sich erkennen, wie viele Ressourcen PHP
und die zugehrigen Datenbankabfragen
bentigen.

39

08/2015
12/2010

Software

Auch diesen Monat bekommen die DELUG-Kufer die doppelte Datenmenge zum einfachen Preis: Die erste
Seite der DVD enthlt Videos der Grazer Linuxtage 2015, die zweite unter anderem die Fedora 22 Workstation,
eine Appliance zur Analyse von Malware, ein E-Book ber den Raspberry Pi und vieles mehr. Tim Schrmann
Inhalt
42 IP-Fire
Die aktuelle Version der leistungsfhigen
Firewall-Distribution erneuert Open SSL
und Strong Swan.
44 Bitparade
Vier Programme im Vergleich, die VPN
mit einem P2P-Ansatz verschmelzen.
50 Libre Office Viewer
Eine abgespeckte Version von Libre Office luft nun auf dem Android-Handy.
52 Tooltipps
Werkzeuge im Kurztest: Devices in LAN
0.4, Gxmessage 3.4.3, Site Monitoring
2.1.6, Bleachbit 1.6, Fehashmac 1.4.2,
SSH Guard 1.5.
Neben einem normalen Linux-Magazin
ohne Datentrger gibt es die DELUG-Ausgabe mit Monats-DVD, bei der die Redaktion den Datentrger nach einem speziellen Konzept zusammenstellt: In einer Art
modularem System enthlt er Programme

und Tools, welche


die jeweilige Magazin-Ausgabe testet
und bespricht. Zudem gibt es im Heft
nicht abgehandelte
Software, die die Redaktion besonders
empfiehlt, alles gebndelt unter einer
HTML-Oberflche.

Seite A: Gra
zer Linuxtage
Die Seite A ist bis
zum Rand mit ViAbbildung 1: Mit den in der Remnux-VM enthaltenen Open-Source-Werkzeugen lassen sich
deos gefllt. Wer
mit dem Browser auf Programme zur Analyse in ihre Einzelteile zerlegen.
sie zugreift, erreicht
zum Beispiel Wireshark zur Analyse der
ber ein HTML-Men ausgewhlte Vortrge der Grazer Linuxtage 2015. Sie zei- Netzwerkkommunikation.
gen unter anderem, wie Nutzer unstrukturierte Daten mit PostgreSQL speichern,
sicher miteinander kommunizieren,
komplexe regulre Ausdrcke schreiben
Als E-Book wartet Linux mit Raspberry
und erste Schritte beim Programmieren
Pi (Abbildung 2) aus dem Franzis-Verin Python unternehmen.
lag auf Leser. In ihm beschreibt Autor
Christian Immler auf ber 300 Seiten Einsatzmglichkeiten fr den Minicomputer.
Unter anderem entstehen ein NAS-Server
Wer die Silberscheibe umdreht und mit
und ein virtueller Diaprojektor. Daneben
dem Browser darauf zugreift, stt auf
enthlt die DVD das aktuelle Fedora 22
zahlreiche weitere Inhalte. Aus ihnen
Workstation (64 Bit) als ISO-Image. Fr
sticht die Appliance mit Remnux 6.0 den Betrieb in der Cloud oder einer Virtualisierungslsung eignet sich das Image
hervor (Abbildung 1). Sie basiert auf
Ubuntu-Linux 14.04 und enthlt zahlreimit Fedora 22 Atomic Host.
che vorinstallierte Tools zur Analyse von Wem das nicht reicht, der baut mit der
potenzieller Schadsoftware. Beispielsaktuellen Version von IP-Fire eine leisweise extrahiert das Skript officeparser
tungsfhige Firewall auf, betrachtet mit
Makros aus Word-Dokumenten, whrend
dem Libre Office Viewer Dokumente auf
die Virus-Total-Tools ein verdchtiges
Android-Gerten oder entwickelt Programme mit Hilfe von Mozillas ProgramProgramm auf Schadcode abklopfen.
n
miersprache Rust. (kki)
Hinzu kommen bekannte Werkzeuge,

E-Book und Fedora 22

Remnux 6.0

Abbildung 2: Das E-Book demonstriert verschiedene


Einsatzmglichkeiten fr den Raspberry Pi.

www.linux-magazin.de

Linux-Videos, IP-Fire, Raspi-E-Book

Einfhrung

In eigener Sache: DELUG-DVD

41

08/2015

Software

IP-Fire 2.17 Core Update 90

Die schlanke Linux-Distribution IP-Fire ist fr den Betrieb als Firewall zugeschnitten, der Admin richtet sie
komfortabel ber eine Weboberflche ein. Die neue Version kann unter anderem den Netzwerkverkehr auf
Basis geografischer Daten filtern. Tim Schrmann
CD brennt oder mit dd auf einen USBStick schreibt. Fr eingebettete (ARM-)
Systeme stellt das IP-Fire-Projekt ein 215
MByte groes Flash-Image mit vorinstalliertem IP-Fire bereit, unter anderem fr
den Raspberry Pi [2].

Farbenspiele

Achim Prill, 123RF

42

www.linux-magazin.de

IP-Fire

Thermisch gesichert

IP-Fire gengt bereits ein System mit


i586-Prozessor ab 1 GHz, 512 MByte
Hauptspeicher, 4 GByte Festplattenplatz
und zwei Netzwerkschnittstellen [1]. Die
Festplatte beziehungsweise SSD greift

sich IP-Fire komplett, sie sollte folglich


keine wichtigen Daten mehr enthalten.
Die Installation erfolgt ber ein gerade
einmal 156 MByte groes ISO-Image, das
der Administrator wahlweise auf eine

Wer das ISO-Image verwendet, installiert


IP-Fire nach Schema F ber einen Assistenten. Nach einem Neustart erfragt
IP-Fire unter anderem den Hostnamen
und den Domainnamen des FirewallRechners sowie die Passwrter fr den
Benutzer root und den normalen User
admin.
Bei der Netzwerkeinrichtung kennzeichnet IP-Fire alle Schnittstellen mit Farben:
Unsichere Devices, die etwa ins Internet fhren, erscheinen rot, alle sicheren
ins Intranet grn, WLAN-Schnittstellen
hingegen blau und eine eventuelle DMZ
orangefarben (Abbildung 1). Bei zwei
eingebauten LAN-Schnittstellen markiert
IP-Fire eine rot, die andere grn.
Um noch weitere blaue und orangefarbene Schnittstellen zuzuweisen, whlt
der Admin erst Typ der Netzwerkkonfiguration und dann den passenden Modus. Danach ordnet er ber Netzerkkartenzuordnungen jeder Schnittstelle ihre
Farbe zu.
In den Adresseinstellungen whlt er
nacheinander die Schnittstellen anhand
ihrer Farbe aus und weist ihnen dabei jeweils eine IP-Adresse zu. Grne
Heft-DVD

Abbildung 1: In der Weboberflche markiert IP-Fire die Schnittstellen in ihren jeweiligen Farben.

DELUG-DVD
Auf der DELUG-DVD findet sich
das ISO-Image der IP-Fire-Ausgabe 2.17 Core
Update 90.

08/2015

Software
In der aktuellen Version 2.17 Core 90
kann IP-Fire erstmals den ein- und ausgehenden Netzwerkverkehr anhand des
Herkunfts- oder Ziellandes reglementieren (Abbildung 2). Administratoren erlauben so beispielsweise ausschlielich
Zugriffe aus Deutschland oder untersagen
Rechnern aus dem Internet den Kontakt
mit Servern aus bestimmten Lndern.
Wem diese Einstellungen zu grob sind,
der kann auch detaillierte Filterregeln
vorgeben und so etwa die Anzahl der
gleichzeitigen Verbindungen aus einem
Land limitieren.

Fazit
Abbildung 2: Dank des Geo-IP-Filters lsst sich schnell Netzwerktraffic aus bestimmten Lndern abblocken.

Schnittstellen brauchen stets statische


IP-Adressen, rot markierte bringen
den Rechner in der Regel ins Internet.
Sie erhalten wahlweise eine statische
IP-Adresse, beziehen diese per DHCP
oder praktizieren bei einem (DSL-)Modem die Einwahl ber PPP. Die Netzwerkschnittstellen mssen dabei in verschiedene Subnetze fhren. Im Hauptmen
hinterlegt der Admin bei Bedarf noch
die DNS- und Gatewayeinstellungen,

anschlieend kann er einen DHCP-Server


aktivieren und das System neu starten.

Webzugriff
Die Firewall steuert der Administrator
bequem ber eine per HTTPS und Port
444 erreichbare Weboberflche. Er meldet sich dort als User admin an. Bei
Problemen loggt er sich auf der Kommandozeile des Firewallrechners als root

IP-Fire ist eine verlssliche, gut gepflegte


und vor allem gengsame Firewall-Distribution. Die Installation ist schnell erledigt, die Administration gelingt bequem
ber die Weboberflche. Der Geo-IP-Filter hilft Angriffsversuche aus bestimmten
Lndern abzuwehren. (kki)
n

Infos
[1] IP-Fire: [http://www.ipfire.org]
[2] IP-Fire fr ARM-Rechner: [http://www.
ipfire.org/en/hardware/arm/start]

www.linux-magazin.de

Geo-IP

IP-Fire

ein und erneuert ber setup die Netzwerkkonfiguration (Abbildung 1).

43

08/2015

Software

Peer-to-Peer-basierte VPN-Alternativen

Wer seinen Netzwerkverkehr verschlsselt ber ffentliche Leitungen senden mchte, greift meist zu IPsec,
chiffriert den Traffic mit SSL ber Port 443 oder nutzt Open VPN. Die Bitparade nimmt vier dazu alternative
Tunnelbauer unter die Lupe, die VPN ber Peer-to-Peer-Verfahren versprechen. Konstantin Agouros

marchello74, 123RF

44

www.linux-magazin.de

Bitparade

Tunnelblick

Die P2P-basierten VPN-Lsungen der


Bitparade dieses Monats unterscheiden
sich in ihren Anstzen deutlich. Sie reichen von Software, die dem klassischen
Modell folgt, bis hin zu einem einfachen
Peer-to-Peer-Modell. Setzt ein Admin
beim ersten Ansatz zwei Netze auf, reiht
sich der Rechner beim zweiten mit Hilfe
einer ID ins Netzwerk ein, wobei das
Routing automatisch erfolgt.
Einige der Projekte bieten zudem Clients
fr andere Betriebssysteme an, darunter
solche fr Mobilgerte. Vier Kandidaten
hat sich die Bitparade diesmal angeschaut. Die Tests fanden in einer virtualisierten Umgebung beim Arbeitgeber des
Autors statt, mit passenden Gegenstellen
im Internet.
Tinc [1] ist dabei das dienstlteste unter
den getesteten Programmen. Freelan [2]
ist hingegen ein noch recht junges Projekt, das Clients fr Linux, Windows und
OS X anbietet. An Ipop [3] entwickeln
mageblich Studierende der University of
Florida mit, es hnelt Tinc. Lediglich Zero

Tier [4] ist als einziger Kandidat als ein


reines Peer-to-Peer-VPN implementiert.

E Tinc
Das Tinc-Projekt [1] gibt es bereits seit
1998, die letzten nderungen auf der
Webseite stammen aus dem Jahre 2014.
Tinc erlaubt den Aufbau eines vermaschten VPN. Was soviel bedeutet, dass jeder
Knoten einen Weg zu jedem anderen findet (Abbildung 1). Die gegenseitige Authentisierung basiert auf RSA-Schlsseln
(2048 Bit).
Tinc definiert logische Netzwerke, die
jeweils einen Namen besitzen, im Test
lautete er zum Beispiel LM. Der TincDaemon erwartet unter /etc/tinc einen
Unterordner pro Netz, der den gleichen
Namen tragen muss. Pro Ordner erwartet der Daemon eine Datei tinc.conf.
Sie enthlt im einfachsten Fall nur zwei
Eintrge: Den logischen Namen des Systems innerhalb dieses Netzwerks und das
Device, das die Tunnel aufbaut.

Die Manpage von tinc.conf listet weitere Optionen auf, die etwa bestimmen,
welches Interface der Dienst verwendet
und ob der Host als Intermediate Node
agieren soll oder nicht. Die einfachste
Form der Datei sieht so aus:
Name = left
Device = /dev/net/tun

Im Ordner /etc/tinc/LM erwartet Tinc


dann noch einen weiteren Unterordner
hosts. In dem befindet sich fr jeden
beteiligten Host eine eigene Datei mit
dem logischen Namen des Hosts.
Im Test kamen zwei Hosts zum Einsatz,
die left und right hieen, den Inhalt
von left zeigt Abbildung 2. Der Eintrag
Subnet dort beschreibt das Netz, das
der Teilnehmer zu sich routen mchte,
Heft-DVD
Auf der Heft-DVD befindet sich

DELUG-DVD

der Quellcode zu den vier getesteten Anwendungen.

08/2015

Software
eth1

eth0

verschlsselt,
UDP

eth0

eth1

Klartext

Abbildung 1: Tinc baut ein vermaschtes VPN auf und tunnelt verschlsselt UDP-Traffic.

bei Address handelt es sich um die offiziell erreichbare Adresse. Da der Test in
einer geschlossenen Umgebung stattfand,
ist das eine RFC-Adresse.
Den Schlssel lsst der Admin beim ersten Versuch einfach weg, da Tinc ihn spter generiert und automatisch ergnzt.
Beim ersten Einrichten trgt er auf dem
Host left also nur die ersten beiden
Zeilen ein. Danach ruft er
tincd n LM K

auf. Gibt er ber die Option K keine


Schlssellnge mit auf den Weg, verwendet Tinc 2048 Bit und trgt den Public
Key dann automatisch in /etc/tinc/LM/
hosts/left ein. Die Option n gibt den
Namen des Netzwerks an.
Erwhnenswert ist auch die Datei /etc/
tinc/LM/tincup. Es handelt sich um ein
ausfhrbares Shellskript mit dem Auftrag, das Tunnelinterface zu aktivieren
und ihm eine IP-Adresse zu verpassen.
Im Test sah dieses Skript fr den Host
left wie folgt aus:
#! /bin/bash
ifconfig $INTERFACE 192.168.22.1 netmask U
255.255.255.0

Dem aufmerksamen Betrachter fllt sicher auf, dass die IP-Adresse in einem
Netz liegt, dessen Netzmaske mehr Hosts
umfasst als das Subnet in Abbildung 1.
Das sorgt dafr, dass der Host dank der
vom Kernel gesetzten Route alle anderen Teilnehmer ber das Tunnelinterface
erreicht. Die speziellere Route auf dem
LAN-Interface soll bewirken, dass die
Hosts im LAN erreichbar bleiben.
Der Administrator fgt dann den passenden Public Key ein und verteilt die
Hostdatei left an alle Beteiligten. Das
geschieht in einem Any-to-any-Verfahren,
das recht aufwndig geraten kann. Die
Datei darf neben den genannten noch
weitere Parameter enthalten, beispielsweise spezifische Verschlsselungsalgorithmen oder alternative Ports.

Bevor er Tinc startet, muss der Admin sicherstellen, dass Linux das tun-Modul
geladen hat. Tinc erledigt dies nicht automatisch, es wird jedoch fr ein funktionierendes VPN gebraucht. Nach dem
Start des Daemon bei allen Beteiligten
routet Tinc die Pakete dann wie erwartet
ber den Tunnel.
Die Software funktionierte im Test gut,
lief stabil und erfllte auch die Anforderung an das Full Mesh. Der Ansatz bringt
jedoch auch Einschrnkungen mit. So
entsteht Aufwand dabei, alle Hostdateien
an alle Beteiligten zu verteilen. ndert
sich bei einem Host die Konfiguration,
muss Tinc die Datei neu versenden. Das
funktioniert bei fnf Hosts gut, bei 100
wird es unbersichtlich.
Auerdem muss jeder Teilnehmer von
auen erreichbar sein. Das setzt Zugriff
auf eine Firewall voraus, um den eingehenden Port durchzuschalten. Alternativ
kann Tinc auf einem per Internet erreichbaren Host laufen. Da trifft es sich gut,
dass es Tinc nicht nur fr Linux, sondern
auch fr die meisten BSD-Derivate (darunter OS X) sowie als Build fr Open
WRT gibt. Von Windows untersttzt es
die Versionen 2000 (!) bis 7.

E Freelan
Freelan [2] gibt es noch nicht so lange
wie Tinc, laut Github startete die Entwicklung im Jahr 2011, sie ist weitgehend
eine One-Man-Show. Freelan erlaubt so-

wohl ein klassisches Site-to-Site- als auch


ein Peer-to-Peer-VPN oder eine Mischung
aus beiden Formen und ist wie Tinc aufgebaut (Abbildung 1).
Die Software steht auf der Webseite [2]
fr Windows (XP bis 8), OS X (10.7 bis
10.9) und Linux bereit. Fr das freie Betriebssystem gibt es fertige Debian-Pakete
(die das Linux-Magazin im Test verwendete) und den Quellcode, um ihn selbst
zu bersetzen. Letzteres stellte sich im
Test zumindest auf der standardmig
genutzten Gentoo-Test-VM als nicht ganz
trivial heraus.
Im Unterschied zu Tinc authentisieren
sich die Hosts untereinander mit Hilfe
von X.509-Zertifikaten. Im einfachsten
Fall bentigt jeder Host ein eigenes Zertifikat mit Private Key sowie das Zertifikat
der CA, die die Zertifikate der Teilnehmer
unterschrieben hat, um die anderen zu
autorisieren.
Eine sehr einfache Konfiguration zweier
Hosts sieht wie in Abbildung 3 aus (eine
Quelle fr Zertifikate vorausgesetzt). Dies
ist die Konfiguration vom Host Alice unter
/etc/freelan/LM-Test.conf. Die Tunnelinterfaces nutzen Adressen aus dem Netz
10.10.1.0/24. Alice hat die Hostadresse
1 und muss Bobs Rechner ber den
angegebenen Hostnamen und Port erreichen. ber die contact-Anweisung
versucht der Alice-Rechner aktiv, eine
Verbindung aufzubauen.
ber die Konfigurationsdatei /etc/freelan/LMTest.conf ist es zudem mglich,

Abbildung 2: Jeder beteiligte Host erhlt bei Tinc eine eigene Konfigurationsdatei.

Bitparade

Klartext

Tunnel

www.linux-magazin.de

Tunnel

45

08/2015

Software
Bitparade
www.linux-magazin.de

46

mitgelieferte Beispielkonfiguration zeigt


lediglich auf, wie er
sich mit dem Masterserver verbindet. Da
der Dienst auch ohne
diesen Modus arbeitet,
kann der Anwender
sein VPN in Betrieb
nehmen.
Weil die Software ZerAbbildung 3: Die Konfiguration fr Alice enthlt unter anderem die
tifikate statt SchlsselIP-Adresse und Links auf die X.509-Zertifikate.
paare einsetzt, wie es
Tinc tut, lassen sich
die Teilnehmer etwas weniger aufwndig
gleich mehrere Netze nebeneinander zu
betreiben. Welche Konfigurationen er akverwalten. Wie bei Tinc muss der Admin
tiviert, steuert der Admin ber Eintrge in
aber den Teilnehmern alle ffentlich er/etc/default/freelan. Hier legt er auch
reichbaren IP-Adressen und Hostnamen
fest, ob Freelan eingehende Verbindunbekanntmachen. Das heit auch: Zwei
gen berhaupt annimmt, schliet NetzTeilnehmer, die hinter NAT-Devices sitbereiche von der Kontaktaufnahme aus zen, ber die sie keine Kontrolle haben,
und regelt ber ein einstellbares Skript,
finden nicht zueinander.
welche eingehenden Zertifikate FreeAllerdings muss das Netz nicht voll
lan akzeptiert. In der Konfiguration mit
vermascht sein, damit Alice auch noch
gegenseitiger Kontaktaufnahme ist der
mit Felix ber das VPN kommunizieren
Tunnel im Handumdrehen aufgebaut und
kann. Per Default ist der relay_mode
die Adressen sind im Netz 10.10.1.0/24
aktiv, sodass es lediglich eine Kette von
erreichbar.
Kontakten zwischen Alice und Felix geZustzlich gibt es noch einen Servermo- ben muss, was jedoch fr die Latenz
dus. In ihm erhlt ein zentraler Webser- nicht gerade frderlich ist.
ver die Parameter eines Netzwerks. Das
ermglicht es den Teilnehmern, die anderen Teilnehmer kennenzulernen. Leider
Das Ipop-Projekt [3] wurde 2006 an
verrt die Dokumentation nicht, wie der
der Universitt von Florida gestartet.
Admin den Servermodus einrichtet. Die

E Ipop

Es geht einen etwas anderen Weg als


die ersten beiden Kandidaten. Statt die
Clients direkt zu verbinden, tritt Jabber
[5] als Vermittler auf. Die eigentlich fr
Multimedia-Inhalte gedachte Erweiterung
Jingle [6] handelt dann die NutzdatenVerbindungen aus (Abbildung 4). Ipop
bietet zwei VPN-Varianten an: Social
VPN soll einzelne Clients miteinander
verbinden, Group VPN eher Server miteinander in Kontakt setzeb.
Befinden sich zwei Teilnehmer jeweils
hinter einer NAT-Verbindung, nutzen sie
einen Stun- oder Turn-Server ([7], [8])
als Verbindungspunkt im Internet. Die
Software steht unter [3] und auf Github
[9] zum Download fr alle gngigen Linux-Distributionen bereit. Auerdem gibt
es eine Version fr Windows, Android
und Open WRT.
Das Linux Magazin hat sich speziell die
Group-VPN-Variante angeschaut. Im ersten Test nahmen zwei nebeneinanderliegende VMs Kontakt auf, spter kommunizierten zwei VPNs hinter NAT-Gateways,
um auch dies zu testen.
Zum Betrieb von Ipop ist ein JabberServer notwendig, auf dem sich alle Teilnehmer einen Account teilen. In der Dokumentation auf der Webseite [3] findet
sich eine Beschreibung, wie der Admin
fr diesen Zweck Open Fire einsetzen
kann. Ipop funktioniert aber auch mit ffentlichen Servern wie etwa [talk.google.
com], der im Test zum Einsatz kam.

Jabber-Server

Signalisierung

Tunnel

Tunnel

eth0

verschlsselt,
UDP

eth0

Stun-/Turn-Server

Abbildung 4: Ipop whlt einen anderen Weg als Tinc und Freelan, indem es einen Jabber-Server voraussetzt und Stun sowie Turn untersttzt.

08/2015

Software
ipoptincanx86_64 1> out.log 2> err.log &

und
gvpn_controller.py c config.json &> U
log.txt &

Zuvor muss er per Hand das tun-Modul


in den Kernel laden wie bei den anderen Kandidaten auch. Beide Aufrufe fhrt
er als root oder mit sudo aus.
Nun braucht man ein wenig Geduld, um
sich mit dem Jabber-Server zu verbinden.
Befinden sich dann Teilnehmer im VPN
mit der gleichen User-ID, aber auf unterschiedlichen Branches, schaltet Ipop
den Tunnel ein und die IP-Adressen der
Partner sind erreichbar.
Die Eintrge der Logdateien sind leider
erst aussagekrftig, wenn der Admin
die Logstufe auf Debug setzt. Allerdings
kann er die Serverprozesse von Ipop nach
dem aktuellen Status fragen: ber das
Kommando
echo e '\x02\x01{"m":"get_state"}' | U
netcat q 1 u 127.0.0.1 5800

erhlt er eine Statusanzeige, die unter


anderem die gefundenen Partner anzeigt.
Befinden sich die Teilnehmer hinter NATGateways, kann er wie fr Sprachverbindungen einen Stun- beziehungsweise
einen Turn-Server in die Konfiguration
aufnehmen.
Dazu muss er die Datei config.json entweder um die Zeile
"stun": ["Stun-ServerimInternet"]

erweitern, um einen Stun-Server aufzusetzen, oder um die Zeile

"turn": [{"server": U
"user": "Benutzername", U
"pass": "Passwort"}]

fr einen Turn-Server.
Leser mit Json-Erfahrung erkennen schnell,
dass sich auch mehrere Turn-Server angeAbbildung 5: Ipop verlangt eine Konfigurationsdatei im Json-Format, die
ben lassen.
Die Mglichkeit, einen
den Zugang zum XMPP-Server ermglicht.
Stun- oder Turn-Server
zu verwenden, um NAT zu berbrcken,
den. Danach startet das installierte Init
ist fr Anwender zwar sehr praktisch. Fr
skript den Dienst. Damit meldet sich Zero
Sicherheitsverantwortliche in Firmen, in
Tier im P2P-Netzwerk an. Der Admin
denen die Security Policy jeglichen Traffic verwaltet die Zero-Tier-Verbindungen mit
von innen nach auen erlaubt, ist sie dem Programm zerotiercli, fr Winaber ein Albtraum. Leider ist diese Policy
dows und OS X gibt es sogar eine grafiin vielen Firmen verbreitet. Kommt ein
sche Oberflche.
Stun- oder Turn-Server zum Einsatz, so
ber zerotiercli listpeers erhlt er eine
mssen die Pakete allerdings mehrfach
Liste der verbundenen Knoten und prft
durch das Internet, was natrlich die Perdamit, ob der Rechner den Weg in das
formance nicht gerade steigert.
Zero-Tier-Netz gefunden hat. Der Output sieht etwa aus wie in Listing 1. Daneben existiert noch das Subkommando
status, das aber nur die Version, die
Der letzte Kandidat im Test ist Zero Tier.
eigene Node-ID und den Online- oder
Erster Code des Projekts auf Github
Offline-Status zurckgibt.
stammt von Mitte 2013. Als KombinaZum ersten Ausprobieren des Dienstion aus Software und Dienst erzeugt
tes eignet sich das Earth-Netz [11] mit
Zero Tier ein Overlay-Netzwerk, das die
der ID 8056c2e21c000001. Diesem
Webseite aber eher mit einem WLAN
tritt der Admin ber zerotiercli join
vergleicht. Peer-to-Peer-Verbindungen
8056c2e21c000001 bei. Das Unterkomleiten die Daten, hnlich wie bei Skype
mando listnetworks zeigt die verbundeoder Bittorrent, weiter. Ein virtuelles Netz
nen Netzwerke und den Verbindungsstaerhlt je eine ID zur Identifikation, und
tus an, ein ifconfig a verweist fr das
es gibt ffentliche und private Netze (Aberste Netz auf das Interface zt0.
bildung 6).
Im Test konfigurierte der Daemon keine
Die Software steht unter [4] zum Down- IP-Adresse fr das Interface. In der
load bereit, das Projekt bietet sie fr
Datei /var/lib/zerotier/networks.d/
Linux, OS X und Windows 7 an. Fr
8056c2e21c000001.conf findet sich alLinux gibt es Deb- und RPM-Pakete und lerdings eine Konfiguration des Netzes,
darunter auch die vom Netz zugewiesene
ein generisches Installer-Paket fr Intels
IP-Adresse.
32- und 64-Bit-Architekturen sowie fr
Anwender sollten in den ffentlichen Netden Raspberry Pi. Im Test kam der Installer auf einem Gentoo-Linux zum Einsatz, zen mit denselben Vorsichtsmanahmen
der Sourcecode wartet in einem Githubwie in einem ffentlichen WLAN vorgehen. Das bedeutet: Firewallregeln und
Repository [10].
den Verkehr ber Zero Tier verschlsWie bei den anderen Paketen auch sollte
seln. Ein tcpdump auf das Interface
der Admin zunchst das tun-Modul la-

E Zero Tier

Listing 1: Ausgabe von zerotiercli listpeers


200 
listpeers <ztaddr> <paths> <latency> <version> <role>
200 
listpeers 7e19876aba udp;198.199.97.220/9993;3208;3035;3208;fixed,tcp_out;198.199.97.220/443;1;1;1;fixed 173 1.0.1 SUPERNODE
listpeers 8841408a2e udp;107.191.46.210/9993;3208;3194;3208;fixed,tcp_out;107.191.46.210/443;1;1;1;fixed 14 1.0.1 SUPERNODE
200 
200 
listpeers 8acf059fe3 udp;162.243.77.111/9993;3208;3114;3208;fixed,tcp_out;162.243.77.111/443;1;1;1;fixed 94 1.0.1 SUPERNODE
listpeers 9d219039f3 udp;128.199.197.217/9993;3208;2928;3208;fixed,tcp_out;128.199.197.217/443;1;1;1;fixed 280 1.0.1 SUPERNODE
200 

Bitparade

"Stun-Server:Port", U

www.linux-magazin.de

Nach dem Download des Tar-Archivs legt


der Admin im ersten Schritt eine Konfigurationsdatei mit dem Namen config.
json an (Abbildung 5). Die ersten drei
Parameter beschreiben den Zugang zum
XMPP-Server. Die beiden IP-Parameter
stehen fr die IP-Adresse des Knotens
im VPN sowie fr die Netzmaske, die
brigen sind lediglich fr das Logging
zustndig. Nun startet der Admin nacheinander zwei Prozesse:

47

08/2015

Software
Bitparade

Tunnel

Tunnel
verschlsselt, UDP

48

eth0

www.linux-magazin.de

eth0

erreichbare Peernodes

Abbildung 6: Zero Tier setzt auf reine Peer-to-Peer-Verbindungen und unterscheidet ffentliche und private Netzwerke.

zt0 lieferte umgehend Broadcast-Pakete


anderer Teilnehmer zurck. Gegenber
dem Rest des Internets sind die Zero-TierTunnel jedoch verschlsselt.
Will er ein privates Netz erzeugen, bentigt der Anwender zunchst einen Account unter [12]. Hier erzeugt er, wie es
Abbildung 7 demonstriert, ein Netz und
feinjustiert die Parameter. Private Netze
sind fr bis zu zehn Teilnehmer kostenlos, fr grere Netze verlangt Zero Tier
4 US-Dollar pro Monat. Damit nicht einfach jeder einem privaten Netz beitreten kann, trgt der Admin die Node-IDs
(aus zerotiercli info) manuell ein oder
besttigt sie nach einem Verbindungsversuch.
Zero Tier ist darauf angelegt, einfach zu
funktionieren. Der Teilnehmer sieht zwar,
mit wem der Client kommuniziert, kann
dies aber nicht steuern. Die technische
und die Security-FAQ [4] geben eine gute
bersicht, wie das Netzwerk funktioniert
und welche Algorithmen es einsetzt. Fr
Anwender, die Firewalls berbrcken
mchten, bietet Zero Tier eine einfach
verwendbare Lsung. Sicherheitsverant-

wortlichen, die getunnelte Verbindungen


ablehnen, bereitet sie eher Kopfschmerzen. Auf welche Seite sich das Zero-TierProjekt dabei schlgt, zeigt ein Zitat auf
der Startseite (Abbildung 8).

Fazit
Die vorgestellten Programme unterscheiden sich ziemlich in ihrem Knnen. Tinc
und Freelan funktionieren nur, wenn der
VPN-Anwender auch den eingehenden
Internetverkehr kontrolliert, bei Ipop und
Zero Tier spielt dies keine Rolle. Allen
gemeinsam ist, dass sie es erlauben, Verkehr vor den Augen des Internets abzuschirmen und direkte Verbindungen in
Form von Overlay-Netzen und Tunneln
zu erzeugen.
Tinc und Freelan mssen sich den Vergleich mit etablierten Lsungen wie Open
VPN gefallen lassen, wobei sich gerade
Tinc durch die aufwndige Schlsselver-

Der Autor
Konstantin Agouros arbeitet bei der Xantaro
Deutschland als Solutions Architect mit dem
Schwerpunkt auf Netzwerk- und Cloud-Security.
Sein Buch DNS/DHCP ist bei Open Source Press
erschienen.

teilung fr grere Netze als unpraktisch


erweist. Bei Ipop kostete die Dauer des
Verbindungsaufbaus Nerven, was aber
womglich an der Ungeduld des Testers
liegt. In Sicherheitsabteilungen von Firmen sorgen die Lsungen wohl eher fr
graue Haare, da sie es Anwendern ziemlich einfach machen, installierte Schutzn
mechanismen auszuhhlen. (kki)

Infos
[1] Tinc-Projekt: [http://www.tincvpn.org]
[2] Freelan: [http://www.freelan.org]
[3] Ipop: [http://ipopproject.org]
[4] Zero Tier: [http://www.zerotier.com]
[5] Jabber: [http://www.jabber.org]
[6] Jingle: [http://xmpp.org/extensions/
xep0166.html]
[7] Stun-RFC:
[http://tools.ietf.org/html/rfc5389]
[8] Turn-RFC:
[http://tools.ietf.org/html/rfc5766]
[9] Ipop auf Github: [https://github.com/
ipopproject/downloads/releases]
[10] Zero Tier auf Github:
[https://github.com/zerotier]
[11] Earth-Netz:
[https://www.zerotier.com/earth.html]
[12] Admin-Account fr Zero Tier:
[http://www.zerotier.com/admin.html]

Abbildung 7: Eine grafische Admin-Oberflche hlt

Abbildung 8: Zero Tier will Menschen in Organisationen und Firmen eine einfache Zusammenarbeit ermgli-

Zero Tier nur fr Windows und OS X bereit.

chen, auch wenn sie dafr womglich die Security-Richtlinien der IT-Abteilungen umgehen.

08/2015

Software

LO-Viewer-App fr Android

Der Libre Office Viewer fr Android zeigt Office-Dokumente auf mobilen Gerten an und besitzt inzwischen
auch einfache Bearbeitungsfunktionen. Ob die Smartphone- und Tablet-App als Assistent fr die groe Bro
suite auf dem Desktop taugt, zeigt dieser Kurztest. Heike Jurzik
(Tabelle 1). Eines sei gleich vorweggenommen: Mit einem Kennwort geschtzte Dokumente ffnete die App
grundstzlich nicht sie strzte sogar
reproduzierbar ab.

Gelungener Auftakt?

pixinoo 123RF.

50

www.linux-magazin.de

Libre Office Viewer

Frischluftbro-Gehilfe

Ende Mai 2015 verffentlichten die Libre- und PPTX an. Eine experimentelle EdiOffice-Entwickler die erste stabile Version
tierfunktion stellt Werkzeuge fr fetten
des Libre Office Viewer fr Android bei
und kursiven Schriftsatz sowie unterund durchstreichen bereit.
Google Play [1]. Die freie und kostenDer Libre Office Vielose App entstand in Zusammenarbeit mit den
wer bentigt mindesUnternehmen Collabora,
tens Android 4.0. Die
Tester installierten
Igalia und Smoose sowie
die App auf einem
einigen Google-Summerof-Code-Studenten. Wer
Tablet (Tolino Tab
Android ohne Google
8.9 mit Android
betreibt, findet unter [2]
4.2.2) und auf einem
ein APK.
Smartphone (Galaxy
Der Viewer nutzt die
Nexus, Android 4.3).
Sie beauftragten den
gleiche Engine wie die
mobilen BroassisDesktopversionen von
Libre Office. Das Front
tenten, Writer-, Calcend basiert auf Firefox
und Impress-Dateien
sowie MS-Word-, Exfr Android. Laut Release Notes zeigt die App
cel- und PowerpointAbbildung 1: Der experimentelle BearbeiDokumente zu ffdie freien Formate ODT,
tungsmodus funktioniert in Textdateien
nen, und versuchten
ODS und ODP sowie die
Microsoft-Formate Doc,
und in Impress-Prsentationen, verlangauch, diese im Viewer zu bearbeiten
Docx, XLS, XLSX, PPT samt die App allerdings sprbar.

Nach dem Start erscheint ein Dateimanager, der die Ordner des Gerts inklusive
verborgener Verzeichnisse anzeigt. Die
Icons wirken auf einem Tablet durchaus
bersichtlich, auf einem kleinen Smartphone-Display allerdings zu ppig. ber
die Mens filtern Nutzer die Liste alphabetisch oder blenden nur bestimmte
Dateitypen, die neuesten oder grten
Files ein. Wer das Gert an dieser Stelle
dreht, darf sich direkt vom Viewer verabschieden. Das ndern der Ausrichtung
fhrte auf beiden Testgerten wiederholt
zum Absturz.
Nach dem Auswhlen einer Datei braucht
der Viewer je nach Speicherausstattung
des Tablets oder Smartphones mehr oder
weniger Zeit zum ffnen. Dokumente
mit Bildern, Diagrammen und mehreren
Schrifttypen prsentieren sich oft pixelig, bis die App alles richtig gerendert
hat. ber das Men Settings schalten
Anwender in den Experimental Mode,
der Bearbeitungsfunktionen am oberen
Rand einblendet.
Die Entwickler warnen sowohl in der
App als auch in den Release Notes: Use
at your own risk ein berechtigter
Hinweis, wie sich im Test herausstellen
Heft-DVD
Die DELUG-DVD enthlt die

DELUG-DVD

APK-Datei der App, wie sie das Projekt selbst


zur Verfgung stellt.

08/2015

Die ODT-Datei und das MS-Word-Dokument (Doc) sahen auf beiden Testgerten recht berzeugend aus. Auch das
Docx, das mehrere Spalten und Bilder
enthielt, war zugnglich. Whrend die
Desktopversion von Libre Office es nur
sehr zerstckelt prsentierte, bekam der
Viewer die Darstellung etwas besser hin
optimal war die Anzeige jedoch immer
noch nicht, auch wenn immerhin der
Inhalt lesbar war.
Das Umschalten in den Bearbeitungsmodus klappte manchmal, aber nicht
immer. War dies gelungen, dauerte es
eine Weile, bis der Fingertipp ins Dokument beim Viewer angekommen war.
Beide Testgerte verstanden schlielich
den Wunsch, zeigten den Cursor an und
klappten das Keyboard am unteren Rand
aus (Abbildung 1).
Wrter oder Abstze markiert die App
nicht. Um etwas zu formatieren, tippen
Nutzer in ein Wort hinein und danach
den entsprechenden Button an. Text ins
Dokument einfgen dauert ebenfalls
recht lange, sodass sich die Funktion derzeit nur eignet, um kurze Ergnzungen
vorzunehmen. Lngere Abschnitte tippen
sich besser auf dem Desktop.
Enttuschend endete der Versuch, eine
einfache Calc-Tabelle mit einer simplen
Summenformel zu betrachten. Ob mit
oder ohne eingefgtem Diagramm der
Viewer verweigerte den Dienst. Eine
Excel-Datei (XLS) schlug sich etwas besser, allerdings war die Spaltenbreite nicht
optimal und das Kreisdiagramm machte
ebenfalls keine gute Figur (Abbildung 2).
Das ndern einer XLS-Datei gelang auf
keinem der Gerte.
Eine positive berraschung erlebten die
Tester beim ffnen einer XLSX-Datei. Diagramme stellte der Viewer richtig dar,
auch die Spaltenbreite passte diesmal.
Dafr waren die Umlaute kaputt. Parts
aus dem Men oben rechts oder eine
Wischgeste vom linken Rand in Richtung

Mitarbeiter oder Gehilfe?

Tabelle 1: Features im berblick


Anzeigen

Bearbeiten

Textverarbeitung
ODT

ja

ja

Doc

ja

nein

Docx

(ja)

nein

Tabellenkalkulation
ODS

nein

nein

XLS

(ja)

nein

XLSX

ja

nein

Prsentation
ODP

ja

ja

PPT

ja

nein

PPTX

(ja)

nein

Libre Office Viewer

Software

Ganz prsentabel

Mitte blendet auf der


linken Seite eine Leiste
mit den Tabellenblttern ein.
Der
Men-Eintrag
Parts steht auch bei
Prsentationen zur
Verfgung und ermglicht das Zugreifen auf die Folien. Die
Miniaturansicht auf
der linken Seite berAbbildung 2: Die XLS-Datei ffnete der Viewer zwar, dafr zerstckelte er
lebte das Drehen des
das Kreisdiagramm und konnte die Spaltenbreite nicht richtig erkennen.
Gerts allerdings nicht
immer.
Manchmal
tauchten die Thumbnails nach mehreren Wie bei den anderen Abstrzen im Test
Minuten wieder auf, manchmal nicht. half es meist nur, die App in den System
ODP-Dateien schlugen sich im Test ganz einstellungen zum Beenden zu zwingen
gut, auch das Bearbeiten gelang mit
und den Cache zu leeren.
Angesichts der recht mauen Performance
ausreichend Geduld.
Die Microsoft-Formate zeigte die App
stellt sich die Frage, ob sich die Libreebenfalls an. Die PPT-Datei stellte der
Office-Entwickler einen Gefallen damit
Viewer sogar recht berzeugend dar,
getan haben, die Betaversion als stable
auch wenn die Animationen fehlten.
zu deklarieren. Libre Office Viewer fr
Beim Navigieren durch die Folien ber
Android hat sicherlich Potenzial, ist derdie Seitenleiste oder Wischen mit dem zeit allerdings nicht fr den produktiven
Finger erwies sich der Brogehilfe sogar
Einsatz geeignet. Wer Lust hat, die App
deutlich performanter als beim hauszu testen, sollte fleiig Fehler ber den
n
eigenen Dateiformat. Die PPTX-Datei LO-Bugtracker bermitteln [3].
brauchte ewig beim ffnen und nervte
wiederum mit defekten Umlauten.
Infos
[1] LO-Viewer bei Google Play: [https://play.
google.com/store/apps/details?id=org.
Passwortgeschtzte Dateien zeigt der
documentfoundation.libreoffice]
Viewer nicht an. Es wre hilfreich, wenn
[2] APK-Download: [http://downloadarchive.
die App dazu einfach einen Hinweis gedocumentfoundation.org/libreoffice/old/
ben wrde. Stattdessen wechselt sie im
loviewerv1]
besten Fall zurck zur Ordneransicht, im [3] LO-Bugtracker:
schlechtesten verabschiedet sie sich final.
[https://bugs.documentfoundation.org]

www.linux-magazin.de

sollte. Wer den Modus ausprobiert, findet


kleine Knpfe, um Wrter fett und kursiv
auszuzeichnen, um sie zu unterstreichen
und durchzustreichen. Ein Icon mit einer
Tastatur blendet das Keyboard am unteren Rand ein, sollte es nicht automatisch
ausfahren.

51

08/2015

Software
52

www.linux-magazin.de

Tooltipps

Werkzeuge im Kurztest

Tooltipps
Devices in LAN 0.4

Gxmessage 3.4.3

Site Monitoring 2.1.6

Netzwerkscanner
Quelle: [http://turulomio.users.sourceforge.
net/en/devicesinlan.html]
Lizenz: GPLv3
Alternativen: Nmap

Grafische Ausgabe fr Konsolentools


Quelle: [http://homepages.ihug.co.nz/
~trmusson/programs.html#gxmessage]
Lizenz: GPLv3
Alternativen: Xmessage, Zenity

Webseiten im Auge behalten


Quelle: [http://sitemonitoring.sourceforge.
net]
Lizenz: BSD
Alternativen: Monit, Relmon

Devices in LAN schaut nach, welche


Rechner im lokalen Netzwerk online
sind. Zum Aufruf sind Rootrechte erforderlich. Das Ergebnis schreibt das
Python-Tool auf die Standardausgabe.
Die Liste zeigt neben den MAC-Adressen
auch die aktuellen IPs sowie den Hersteller der Netzwerkkarte an. In der Voreinstellung sortiert Devices in LAN die
Eintrge nach den IPs. Fhrt der Nutzer
das Tool auf einem Gateway-Rechner mit
mehreren Schnittstellen aus, kann er mit
dem Parameter i festlegen, welche Devices gemeint sind. Andernfalls nutzt es
einfach alle vorhandenen.
Damit Anwender in der Ausgabe bereits
bekannte Rechner besser erkennen, knnen sie diesen mit der Option add
einen Aliasnamen zuweisen. Die Zuordnung erfolgt auf Basis der MAC-Adresse
und ist eindeutig. Beim nchsten Scanvorgang frbt das Tool die so markierten
Systeme grn ein und hebt sie dadurch
deutlich von den unbekannten Rechnern
ab. Eine bersicht ber alle Aliasse liefert
der Parameter l, mit remove entfernen Nutzer die Namen wieder.
Devices in LAN verschafft Nutzern schnell einen berblick ber Computer im eigenen Netzwerk. Das Tool ist
nach dem Entpacken sofort einsatzbereit
und braucht keine Konfiguration. Da es
sich um ein junges Projekt handelt, ist die
Dokumentation derzeit recht dnn. n

Der GTK-Xmessage-Klon Gxmessage prsentiert Informationen oder Nachrichten


aus eigenen Skripten in einem PopupFenster auf dem Desktop, nimmt Benutzereingaben entgegen und schickt sie als
Exitcode ans Programm zurck.
Die Konfiguration der Dialoge erfolgt
beim Aufruf. Gxmessage untersttzt die
meisten Xmessage-Parameter. So passen
Benutzer beispielsweise die Vorder- und
Hintergrundfarbe an, setzen den Font,
den Zeichensatz, den Titel, die Gre
und die Position des Fensters. Weitere
Parameter halten das Fenster im Vordergrund, platzieren es zentriert, in der
Nhe des Mauszeigers und sogar auf allen virtuellen Arbeitsflchen. Fr das interaktive Arbeiten definieren Nutzer eine
oder mehrere Schaltflchen. Jeder Knopf
erhlt einen eindeutigen Bezeichner und
einen Rckgabewert.
Wer seine Gxmessage-Dialoge stets
mit denselben Eigenschaften versehen
mchte, kann alle Parameter in der Konfigurationsdatei ~/.gtkrc hinterlegen.
Anwendungsbeispiele und ausfhrliche
Erklrungen liefert die Manpage.
Gxmessage ist ein praktischer
Helfer, um die Ausgabe eigener Skripte in
GTK-Oberflchen zu integrieren. Da das
Tool gngige Xmessage-Parameter kennt,
passen Anwender vorhandene Skripte
mit wenigen Handgriffen an.
n

Site Monitoring berwacht Webseiten.


Das Java-Programm prft nicht nur die
generelle Verfgbarkeit und die HTTPCodes, sondern kontrolliert auch den
Content nach vom Nutzer vorgegebenen
Mustern. Bei dieser Gelegenheit sprt es
gleich alle kaputten Links auf. Seine Ergebnisse fasst das Tool in ansprechenden
Statistiken zusammen.
Die Konfiguration und der Zugriff auf
die Auswertung erfolgt ber ein Web
interface. Anwender definieren hier neue
Checks und bearbeiten oder entfernen
vorhandene. Fr jede Prfung knnen sie
festlegen, was Site Monitoring kontrolliert und in welchen Zeitintervallen das
stattfindet. Bei Problemen benachrichtigt
das Tool auf Wunsch per Mail. Eine Benutzerverwaltung fehlt leider; es existiert
nur das Admin-Konto.
Neben der kostenlosen Ausgabe bietet
der Entwickler Jirka Pinkas auch zwei
Bezahlvarianten an. Die ProfessionalVersion fr rund 140Euro pro Jahr integriert MySQL und PostgreSQL, Tomcat
und Jetty; die Ausgabe Enterprise legt fr
rund 285 Euro jhrlich noch Support fr
MS SQL und Oracle sowie Jboss, Glassfish, Weblogic und Websphere drauf.
Site Monitoring ist ein ntzliches Java-Tool, das Websites sowie deren
Inhalte beobachtet. Abzge gibt es fr die
fehlende Benutzerverwaltung.
n

08/2015

Software
Tooltipps

Fehashmac 1.4.2

SSH Guard 1.5

System entrmpeln
Quelle: [http://bleachbit.sourceforge.net]
Lizenz: GPLv3
Alternativen: keine

Sammlung von Hash-Algorithmen


Quelle: [http://sourceforge.net/projects/
fehashmac]
Lizenz: GPLv3
Alternativen: Hashrat, Rhash

SSH-Ports sichern
Quelle: [http://www.sshguard.net]
Lizenz: BSD
Alternativen: Fail2ban

www.linux-magazin.de

54

Bleachbit 1.6

Bleachbit lscht temporre Dateien von


ber 100 Anwendungen. Zwar bieten die
meisten von ihnen eigene Funktionen
zum Aufrumen an, das Python-Programm versammelt diese aber unter einer zentralen Oberflche. Der Putzteufel
arbeitet unter KDE, Gnome und Xfce und
steht auf den Download-Seiten auch fr
Windows zur Verfgung.
Bleachbit rumt die Daten von Browsern,
Office-Paketen, Mediaplayern, den ChatClients und den grafischen Benutzeroberflchen selbst auf. Auch auf Systemebene
macht das Tool klar Schiff es bentigt
dazu Rootrechte und lscht nicht mehr
bentigte Sprachpakete (Locales), rotierende Protokolle und temporre Dateien.
Auf Wunsch subert es zudem Swap und
freien Arbeitsspeicher. Dabei entfernt es
auch Daten, die sich noch im Shared
Memory befinden. Vor einigen Jahren
fhrte das unter KDE zu Problemen und
Programmabstrzen. Aus diesem Grund
raten im Netz einige KDE-User vom
Bleachbit-Einsatz ab.
In der Bleachbit-Konfiguration legen die
Anwender per Klick in Checkboxen fest,
welche Daten sie lschen mchten. Auf
der rechten Fensterseite stehen ausfhrliche Erklrungen, welche Manahmen
sich dahinter verbergen. Fr das Automatisieren oder Einbinden in eigene
Skripte bietet das Tool eine Kommandozeilen-Schnittstelle an. Auerdem ist
es mglich, eigene Reinigungsmodule zu
integrieren; die Konfiguration erfolgt in
XML-Dateien.
Bleachbit subert zuverlssig
die Platte. Vor dem Einsatz auf Produktivsystemen sollten Anwender ihre Konn
figuration ausfhrlich testen.

Hash-Algorithmen zum Berechnen


von Prfsummen sind in der IT allgegenwrtig ob es um das Kontrollieren
bei der Datenbertragung oder um die
Suche nach Trojanern geht. Die meisten Algorithmen liefern eigene Tools aus,
welche die Werte berechnen. Fehashmac
beherrscht fast 50 Hash-Algorithmen
und Prfsummen und integriert sie in
ein einziges Kommandozeilentool. Dazu
gehren Klassiker wie MD4 und MD5,
aber auch moderne Varianten wie SHA1,
SHA512, Tiger 2 und SHA3.
Von jeder Algorithmen-Familie bietet das
Tool gleich mehrere Varianten an. Anwender bestimmen die gewnschte beim
Aufruf hinter dem Parameter a. Um
Nutzern die Arbeit zu erleichtern, legt
Fehashmac bei der Installation fr jeden
Algorithmus einen eigenen Befehl an.
Dabei handelt es sich um symbolische
Links, die alle auf das Fehashmac-Binary
verweisen. Zum Berechnen einer Prfsumme reicht es dann aus, das jeweilige
Kommando zusammen mit der Datei
oder Textzeile aufzurufen.
Wer fr eine Datei die Prfsummen aller
Algorithmen ermitteln mchte, definiert
dies beim Start ber a all. Weitere
Optionen geben die Schlsselwerte oder
eine Nachricht als hexadezimale Zeichenkette an. Eine Manpage hat das Tool
nicht im Gepck, sodass Anwender die
Informationen in der unbersichtlichen
Onlinehilfe suchen mssen.
Fehashmac ist das Schweizer
Taschenmesser, wenn es um das Berechnen von Prfsummen und Hash-Algorithmen geht. Das Tool erfordert einige
Einarbeitungszeit, die fehlende Anleitung
n
erschwert den Einstieg zustzlich.

Mit SSH Guard schtzen Admins ihren


SSH-Dienst vor Einbruchsversuchen.
Das Tool kooperiert prima mit gngigen
Firewall-Lsungen wie IPtables, Netfilter, PF, IPFW und IPfilter und blockiert
Eindringlinge schon whrend des Verbindungsaufbaus. Um Angreifer zu identifizieren, wertet SSH Guard Logfiles aus.
Anwender geben das Protokoll beim Start
hinter l an.
In der Voreinstellung sperrt das Tool IPs,
die mehr als 40-mal auffllig geworden
sind. Darunter versteht der Aufpasser
Verbindungen, die bestimmten Angriffssignaturen entsprechen. Davon kennt es
insgesamt 15, die sich grtenteils auf
SSH beziehen, aber auch Attacken auf
die Dienste Dovecot, Sendmail, Vsftp,
Proftp und Exim bercksichtigen. Hat ein
entfernter Rechner den Grenzwert berschritten, leitet SSH Guard das Blockieren
dieser Adresse ein. In der Voreinstellung
sperrt es sie fr 7 Minuten. Hinter dem
Parameter w geben Admins bestimmte
Adressen oder ganze Bereiche an, die
SSH Guard ausnimmt.
Wer sicherstellen mchte, dass besonders hartnckige Angreifer fr immer blockiert sind, legt mit b einen Grenzwert
und eine Blacklist fest. Hier trgt SSH
Guard die Adressen von Rechnern ein,
die dauerhaft drauen bleiben mssen.
Um eine IP aus dieser Liste zu entfernen, bearbeiten Anwender sie in einem
Texteditor.
SSH Guard ist ein zuverlssiger
Wchter, der Angriffsversuche unterbindet. Das Tool arbeitet gut mit bekannten
Firewall-Lsungen zusammen und untersttzt inzwischen auch weitere Services.
Die Dokumentation auf der Webseite hilft
beim Setup. (U. Vollbracht/hej)
n

08/2015

Sysadmin

Aus dem Alltag eines Sysadmin: TLS Interposer

www.linux-magazin.de

Einfhrung

Rettung naht
ber Linux, fr Admins in Sachen Sicherheit lange ein ruhiger See, sind in letzter Zeit Strme hinweggefegt,
die Namen wie Freak, Beast, Poodle, Shellshock oder Heartbleed trugen. Eine ganze Reihe von ihnen geht auf
das Konto von Schwchen in SSL-Bibliotheken. TLS Interposer kann die Wogen gltten. Charly Khnast
Inhalt

Der Poodle-Angriff (Padding Oracle On


Downgraded Legacy Encryption) fute
auf TLS-Implementie
rungen, die auf
Anfragen von Clients mit neuen TLSVersionen fatalerweise berhaupt nicht
antworteten. Die nahmen daraufhin an,
der Server sprche berhaupt kein TLS,
und schalteten auf das lngst veraltete
und verwundbare SSLv3. Angreifer lieen einfach die TLS-Verbindungen vor
die Wand laufen und freuten sich, weil
der Client SSLv3 hervorkramte.
Auch Heartbleed war ein Implementierungsfehler. Er erlaubte es Angreifern,
64 KByte des Server-Arbeitsspeichers
auszulesen und das mehrfach nacheinander, sodass etwa Zertifikatsschlssel
in falsche Hnde gerieten. Bruce Schneier
sagte damals, auf einer Katastrophenskala von 1 bis 10 sei dies eine 11.
All das vermeidet der Admin, wenn er die
TLS-Implmentierungen auf seinen Servern auf dem aktuellen Stand hlt. Was

Der Autor
Charly Khnast administriert
Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen
Aufgaben gehren Sicherheit und Verfgbarkeit der
Firewalls und der DMZ.

Sergej Razvodovskij, 123RF

58 Groupware
Die Entwicklung bei Linux-Groupware
eine Zwischenbilanz.
66 Open Stack Sahara
Hadoop-as-a-Service auf Knopfdruck
einrichten das verspricht Sahara.
72 Konfigurationsmanagement
Was Etcd, Consul, Zookeeper & Co. in der
Praxis taugen.

aber, wenn er dort Applikationen betreiben muss, die die neuesten TLS-Versionen gar nicht kennen? So mancher hlt
nach dem Motto Never change a running System stoisch an seinem Apache
2.2 fest oder anderen nur noch archologisch wertvollen Serverdiensten.

Der Abfnger beim Rocken


Fr solche hartnckigen Netzverschmutzer gibt es den TLS Interposer. Der aktiviert sich ber den LD_PRELOAD-Mechanismus und fngt dann API-Aufrufe
an die Open-SSL-Bibliothek ab. Viele
Distributionen haben ihn im Angebot,
ansonsten bekommt man ihn bei Github [1] oder auf der DELUG-DVD. Nach
dem Entpacken gengt ein make &&
sudo make install auer dem Compiler bedarf es des Open-SSL-DevelopmentPakets. Es heit meist libssldev oder
sehr hnlich. Wenn der Compiler seine
Arbeit getan hat, besitzt der Admin die
Datei libtlsinterposer.so.

Das Weitere ist recht einfach. Der Admin


sorgt dafr, dass der Serverdienst die Umgebungsvariable LD_PRELOAD sieht,
gefllt mit dem Pfad zur eben kompilierten Datei libtlsinterposer.so. Beim
Apache 2.2 zum Beispiel ffne ich dazu
die /etc/apache/envvars und fge
export LD_PRELOAD=/usr/local/tlsinterposer/U
libtlsinterposer.so

hinzu. Nach einem Neustart des HTTPDaemon kommuniziert der greise Apache
mit dem jngsten TLS. Das sollte der
Admin aber mit SSL Scan [2] testen oder
mit einem der vielen Onlinedienste, die
diesen Service anbieten, etwa [3]. (jk)n


Infos
[1] TLS Interposer: [https://github.com/
Netfuture/tlsinterposer]
[2] SSL Scan:
[http://sourceforge.net/projects/sslscan/]
[3] Qualys SSL Server Test:
[https://www.ssllabs.com/ssltest/]

57

08/2015

Sysadmin

Die Entwicklungen bei Linux-Groupware eine Zwischenbilanz

Der Groupwaremarkt ist ebenso gro wie schwierig: Microsoft Exchange und Lotus Notes halten die dicken
Brocken fest, soziale Netzwerke und Google drngen nach. Freie Software kann gleichwohl auf schne Erfolge
verweisen, gert aber immer wieder in die Opferrolle meist wegen externer Finanzierung. Markus Feilner, Dirk Ahrnke

mahout, 123RF

58

www.linux-magazin.de

Groupware

Auf und ab

Vier Jahre her ist der letzte Groupware


vergleich im Linux-Magazin [1] Grund
genug, erneut den Blick auf die fr Unternehmen wichtige Collaboration-Sparte
zu richten, die allein in Deutschland rund
700 Millionen Euro Jahresumsatz schwer
ist. Der grte Teil des Geldes landet in
den Taschen von Microsoft: Je nach Zhlweise und Weltregion kommen auf zehn
Groupware-Installationen nur zwei bis
vier von Mitbewerbern [2]. Die Nummer
zwei im Markt ist IBM mit Lotus Notes. Wichtige Mitspieler von frher wie
Novell Groupwise rangieren im unteren
einstelligen Prozentbereich.

Ein Markt mit Platz


Doch wegen der Milliarden, die Anwen
derfirmen weltweit fr Groupware ausgeben, reichen fr kleinere Anbieter schon
Marktanteile von einigen Promille, um
zu wirtschaften. In einer guten Position

sehen sich dabei natrlich Produkte,


deren Entwicklung (zum Teil) in einer
Community erfolgt sprich Open-SourceSoftware. Diese Einschtzung teilt die
Wagniskapitalbranche offenbar, denn in
die meisten Groupware-Unternehmungen, die dieser Artikel analysiert, floss
entweder reichlich Venture Capital oder
sie waren Gegenstand von strategischen
bernahmen oder beides.
Dieser Artikel wirft einen Blick auf die
jngsten Entwicklungen bei Kerio, Kolab,
Open Xchange, Postpath, Scalix, Tine 2.0,
Zarafa und Zimbra.

E Kerio Connect
Kerio Technologies [3] startete 1997 mit
dem Vertrieb einer Netzwerksoftware,
2001 gab es die erste Version des KerioMailservers. Ab Version 7 nannten die
Kalifornier das mittlerweile zur Groupware weiterentwickelte Produkt Kerio

Connect (Abbildungen 1 und 2). Obwohl


einige Einzellsungen aus dem Linuxund Open-Source-Umfeld, zum Beispiel
Spam
assassin, Open SSL und Qt, integriert sind, vertreibt Kerio sein Produkt
Connect vollstndig und ohne jede Ausnahme unter einer proprietren und rein
kommerziellen Lizenz.
Auer fr Linux ist das Produkt darber
hinaus auch fr Windows und Mac OS X
erhltlich. Gerade Letzteres drfte einiges zur Verbreitung beigetragen haben,
denn fr die Apple-Serverplattform gibt
es relativ wenige Groupwarelsungen.
Kerio hat zudem auch als einer der ersten
Dritthersteller eine Implementierung der
Exchange Web Services (EWS) geschafft.
Unter OS X setzt mittlerweile nicht nur
Outlook auf die HTTP-basierte Anbindung an Exchange. Seit OS X (Snow Leo
pard) lsst sich auch das zum Mac-System gehrende Mail via EWS anbinden.

Caldav und Carddav


Es sind allerdings nicht nur die alternativen Exchange-Anbindungen, zu denen
auch ein Outlook-Connector in On- und
Offline-Variante und mit Exchange Active Sync (EAS) gehrt. Als Mitglied im
Calendaring und Scheduling Consortium
Calconnect hat Kerio auch eine der ersten kommerziellen Caldav- und CarddavImplementierungen vorgestellt.
Die meisten Anwender von Kerio Connect
schtzen die gute Integration bewhrter
Kommunikationstechnologien, wie sie typische KMU-Umgebungen bentigen. Offene Standards untersttzt das Produkt,
soweit sie sinnvoll und verbreitet sind.
Ab Kerio Connect 8.1 ist zum Beispiel
ein XMPP-basierter Instant-MessagingDienst mit an Bord.

08/2015

Bislang adressierte Kerio vorrangig Kunden mit bis zu wenigen Hundert Mail
boxen. Die im Mai 2015 erschienene
Version Kerio Connect 8.5 untersttzt
erstmalig auch mehrere Server in einer
Organisation und soll somit das Skalierungsproblem lsen.

E Kolab
Beim letzten Groupwarevergleich im
Linux-Magazin war eine Runderneuerung der Open-Source-Groupware Kolab
[4] noch im Gesprch. Die Anfang 2013

vorgestellte Version 3 ([5], Abbildung


3) konnte dann mit einem erweiterten
Datenformat aufwarten und setzte beim
Webmailer statt des von vielen Anwendern als altbacken empfundenen HordeFrameworks auf Roundcube.
Kolab Systems als treibendes Unternehmen hinter Kolab beschftigt seit Jahren einige Entwickler des Kernteams
von Roundcube und schafft es trotzdem,
beispielsweise durch konsequente Auslagerung Kolab-spezifischer Funktionen
in Plugins, den universellen Webmailer
Roundcube nicht zu kannibalisieren.

Ebenfalls im Jahr 2013 datiert ein weiterer Meilenstein: Die von Kolab Systems betreute und jhrlich aktualisierte
Version Kolab Enterprise folgt jetzt dem
Modell der Referenzplattform Red Hat
Enterprise Linux [7]. Die CommunityVariante wird vergleichbar mit Fedora
als Entwicklerversion deklariert und
nicht fr den produktiven Einsatz empfohlen. Wer sich darauf einlassen will,
tut gut daran, sich mit den Mailinglisten
[8] zu befassen. Hier wie auch im IRCChannel #kolab bestehen dennoch gute
Chancen, schnelle und kompetente Hilfe
bei Problemen zu erhalten.
Die im vorigen Test kritisierten Probleme
mit der Dokumentation bestehen teilweise weiter. Zwar haben die Entwickler
dem Dokumentationsportal [docs.kolab.
org] in letzter Zeit einiges an Inhalten
hinzugefgt, es wird aber weiterhin
hauptschlich von Developern gepflegt
und ist demzufolge fr Einsteiger nur
bedingt geeignet. Die Lektre empfiehlt
sich trotzdem, da sich unter anderem
unter den noch berschaubaren Howtos
sehr wertvolle Hinweise zur erweiterten
Konfiguration finden.

Runder Wrfel

Abbildung 2: Kerio Connect wirkt aufgerumt und modern.

Kolab ist weiterhin eines der wenigen


Produkte, die mit Kontact einen plattformbergreifenden Desktop-Client liefern. Auch Windows-Anwender knnten
sich von Outlook lsen, wenn sie bereit

Groupware

Sysadmin

Enterprise-Version

Abbildung 1: Kerios Admin-Oberflche bei der Arbeit.

www.linux-magazin.de

Die Plne, ein auf Schweizer Recht


und Datenschutzvorgaben basierendes
Groupwarehosting anzubieten, lagen
bei der Kolab Systems AG schon lnger
in der Schublade. Nur wenige Wochen
nach den ersten Verffentlichungen von
Edward Snowden zu Prism und Tempora
ging My Kolab an den Start [6] und fand
so sicherlich nicht nur Kunden der fast
gleichzeitig schlieenden Maildienste
von Lavabit und Silent Circle.
Fast gleichzeitig kndigte Kolab mit Irony
eine auf Sabredav basierende Untersttzung fr Caldav und Carddav an. Diese
ist nach Ansicht mancher Kunden mittlerweile so ausgereift, dass sich Kolab
auch fr Mac-Anwender als eine ernstzunehmende Groupwarelsung eignet.

59

08/2015

Sysadmin
Groupware
www.linux-magazin.de

Abbildung 3: Die aktuelle Online-Demo von Kolab hat so gar nichts mehr mit den Horde-basierten Vorlufern
der vergangenen Jahre gemeinsam.

sind, sich dem KDE-Multitalent Kontact


zu nhern. Das darunterliegende Qt erlaubt es, den Client sowohl auf Linux,
Windows wie auch als abgespeckte Version auf Mobiltelefonen zu verwenden.
Im Januar 2015 verordnete die Kolab Systems AG sich und ihren Produkten eine
optische Erneuerung. Diese schlgt sich
auch in einem neuen Design des Webmailers Roundcube nieder.
Auf dem Kolab Summit 2015 Anfang
Mai in Den Haag (gleichzeitig mit der
Open-Suse-Konferenz) hatten die Mannen um Kolabsys-CEO Georg Greve einige
Neuigkeiten im Gepck: Das wird eine
der wichtigsten Aufgaben fr uns in den

nchsten Jahren!, erklrte Greve dem


Summit-Publikum. Roundcube, reprsentiert durch Mastermind Thomas Brderli,
soll mit einer Crowdfunding-Kampagne
(Roundcube Next, [9], Abbildungen 4
und 5) breite Untersttzung und neue
Features bekommen. Auerdem standen
MAPI- und Office-Integration und der fr
das traditionell stark auf Datensicherheit
ausgerichtete Kolab besonders attraktive
Gesundheitssektor im Vordergrund.

E Open Xchange
Dass Investitionen auch Frchte tragen
knnen, beweist das Beispiel OX: 15 Mil-

Apps, Apps
Die Architektur des aus dem SLOX (Suse
Linux Open Exchange Server) hervorgegangenen Produkts eignet sich schon
deshalb ausgezeichnet fr Provider, weil
zumeist vorhandene IMAP-Server ohne
groe Umbauarbeiten um Groupware
funktionen erweitert werden knnen.
Die im November 2012 erstmalig verf-

Markus Feilner, CC-BY-SA 2015

60

lionen Euro schwer war die Investition


von United Internet Ventures in Open
Xchange [10]. Die Palette rund um die
OX-App-Suite haben die Nrnberger in
den letzten Jahren stndig erweitert. Aus
der reinen Groupwaresuite entwickelte
sich mit OX Documents, OX Guard, OX
Drive und OX Messenger eine komplette
Web-basierte Brosuite. Allerdings zeigt
diese Investition auch das strategische
Eigeninteresse von United Internet unter
anderem als Eigentmer von 1&1, das
Open Xchange schon seit Jahren als Basis
des Angebots einsetzt.
Wer zuvor noch nie etwas von Open
Xchange gehrt hat und sich auf der
Webseite ber das Produkt informieren
mchte, wird allein vermutlich kaum auf
die Idee kommen, dass dieses sich auch
fr den Betrieb im eigenen Unternehmen
eignet. Im Fokus stehen dort die groen
Hostinganbieter, was angesichts der in
den vergangenen Jahren hinzugekommen Investoren auch nicht verwunderlich ist. Neben 1&1 Mail-Business steckt
Open Xchange zum Beispiel auch hinter
den Angeboten von Host Europe oder
dem Anfang 2014 gestarteten Mailbox.
org der Berliner Heinlein Support GmbH.

Abbildung 4: Auf dem Kolab Summit 2015 in Den Haag riefen Georg Greve, Thomas

Abbildung 5: Innerhalb sehr kurzer Zeit konnte Roundcube Next eine

Brderli und Aaron Seigo eine Crowdfunding-Kampagne fr den Webmailer aus.

betrchtliche Summe zusammensammeln.

08/2015

Fr die Installation im Unternehmensnetzwerk ist die OX-App-Suite/


Server
Edition gedacht. Die im letzten Test vorgestellte Appliance OXASE ist zwischenzeitlich abgekndigt. Einen aus funktionaler Sicht gleichwertigen Ersatz bietet
aber die aktuelle Installationsvariante
ber das App Center des Univention Corporate Server (UCS). Da auch die OXASE
auf UCS basierte, haben die Hersteller
einen Umstellungspfad fr betroffene
Kunden geschaffen.
Wer am Einsatz der OX-App-Suite im eigenen Unternehmen Interesse hat und

Groupware

Sysadmin

On Premise

www.linux-magazin.de

fentlichte OX-App-Suite (Abbildung 6) ist


nicht nur ein neu designtes Webfrontend
fr die schon im klassischen Web-GUI
von OX 6 vorhandenen Funktionen, sondern auch Basis fr zustzliche Applikationen, die seit Anfang 2014 mit hoher
Schlagzahl verffentlicht werden:
nOX Drive fr die Dateiverwaltung und
synchronisation,
nOX Documents mit Textverarbeitung
und Tabellenkalkulation,
nOX Guard fr die Verschlsselung von
Nachrichten,
nOX Messenger fr Chat und (Video-)
Telefonie als bisher letzte Ergnzung.
In der fr das zweite Quartal anstehenden Update-Runde ist unter anderem eine
PGP-Kompatibilitt von OX Guard in Planung. Zu einem bislang noch nicht feststehenden Termin soll zu OX Documents
ein Prsentationsmodul hinzustoen.
Auf Open Xchange basierende Angebote
knnen damit eine Alternative zu Google
Apps und vergleichbaren Diensten sein.
Vor diesem Hintergrund sind auch die
angekndigten bernahmen von Dovecot
Oy [11] und Power DNS erklrbar.

Abbildung 6: Open Xchange entfernt sich immer weiter von seinen SLOX-Wurzeln und wird zur App-Zentrale
fr Unternehmen und Endkunden.

nach technischen Informationen sucht,


sollte sich die Knowledgebase [12] ansehen. Hier sind alle relevanten Dokumentationen verlinkt.

E Scalix
Eine ebenfalls wechselvolle Geschichte
mit seinen Investoren durchlebte der
Openmail-Ableger Scalix [14]. Begonnen hatte sie 2002 mit etwas weniger
Venture-Kapital als etwa Zimbra erhielt,
doch nach fnf Jahren verloren die ursprnglichen Kapitalgeber das Interesse
und verkauften an Xandros, ein ebenfalls
von Fonds gesteuertes Unternehmen aus
dem Corel-Dunstkreis. Xandros erzielte
daraufhin einige Erfolge, unter anderem
auch als Softwarelieferant fr das Netbook Eee-PC, das Asus einen geschtz-

Postpath
Etwas weniger glcklich bei der Jagd auf Kunden, dafr aber ebenfalls mit viel Geld unterwegs war Postpath [13]. Das aus Bulgarien
und den USA stammende Team entwickelte bis
2008 einen unter Linux laufenden ExchangeNachbau.
Dann zckte Cisco die Brieftasche und erwarb
Postpath fr 215 Millionen Dollar. Erklrtes
Ziel: Das Software-as-a-Service-Angebot Cisco
WebexMail sollte das Gegenstck zu den Offerten von Google und Microsoft werden.

Im selben Kontext ist wohl auch die Akquise


der Instant-Messaging-Pioniere Jabber Inc.
wenige Wochen spter zu sehen. Whrend
Jabber in den Kommunikationsprodukten von
Cisco weiterlebt, kam fr Webex Mail schon
im Februar 2011 das endgltige Aus. Lapidarer
Kommentar eines Managers bei Webex: Es
skalierte nicht.
In der Zwischenzeit hat Cisco nun auch das
Groupwareprojekt Postpath endgltig eingestellt.

ten Umsatz von einer Milliarde US-Dollar


bescherte.
Der Erfolg war aber nicht nachhaltig, sptere Investitionen, etwa die in Linspire,
erwiesen sich als wirtschaftliche Desaster. Ab 2010 wurde das Geld knapp und
man suchte fr Scalix neue Investoren.
Die Ankndigung des Pennystocks-Unternehmens Sebring Software im Jahr 2011,
12 Millionen fr Scalix zahlen zu wollen,
erwies sich als Luftnummer, das Kapital
reichte nicht mal fr einen Bruchteil der
Kaufsumme. Seit Ende 2013 machen Teile
des ehemaligen Scalix-Managements auf
eigene Rechnung weiter und versuchen
wieder Anschluss zu gewinnen.

berraschung: Eine neue


Version ist da!
Der Veteran, dessen Ursprnge mit HP
Openmail bis ins Jahr 1987 zurckreichen, fehlte beim letzten Groupware-Vergleich, auch weil es nach 2010 weder Produktaktualisierungen noch irgendwelche
substanziellen Nachrichten zu vermelden
gab. Daher war die berraschung gro,
als sich Scalix im Sptherbst 2013 mit
einer neuen Version 12.0 wieder meldete. Mit einem kleinen Zwischenschritt
erschien Ende Mrz 2015 die aktuelle
Version 12.5 (Abbildung 7). Ein Blick in
die Release Notes [15] zeigt diverse Feh-

61

08/2015

Sysadmin
62

www.linux-magazin.de

Groupware

Tine 2.0 [16] wollten die Caldav-Anbindung verbessern und starteten dafr eine
vergleichsweise bescheidene Crowdfunding-Kampagne ber 2100 Euro. Das Projekt erreichte sein Ziel sogar mit einem
berschuss. Im Herbst 2014 erschien die
Release Koriander mit zahlreichen Verbesserungen im Caldav-Kontext.

E Zarafa

Abbildung 7: Fr viele vllig berraschend brachte Scalix im Frhjahr 2015 die neue Version 12.5 mit vielen
Bugfixes und Neuerungen heraus.

lerbehebungen und einige Anstze zur


Modernisierung der Architektur.
Die ist zwar ausgereift und skaliert sowohl horizontal als auch vertikal sehr
gut, hat aber auch mit der von HP Openmail geerbten X.400-Basis fr den eigenen Verzeichnisdienst Elemente, die
eine Offenlegung des Quellcodes verhindern. Die ursprnglichen Plne, schon
mit Scalix 12 auch den Kern unter eine
Open-Source-Lizenz zu stellen, waren
wegen der negativen Entwicklung des
ehemaligen Eigentmers Xandros nicht
durchsetzbar, stehen aber weiterhin auf
der Aufgabenliste.
In den vergangenen zwei Jahren haben
sich die Scalix-Entwickler zunchst um
Anschluss bei der Untersttzung aktueller Outlook-Versionen und die Behebung
von Fehlern bemht. Scalix 12.5 bringt
nun einige Neuerungen. Die mit einer
kommerziellen Lizenz aktivierbare Archivierungsschnittstelle ist jetzt in der
Lage, im Exchange-Journaling-Format zu
exportieren und somit verbreitete Archivierungslsungen zu adressieren.
Ein in der Praxis des fteren nachgefragtes Feature ist die Mglichkeit, ber
Outlook oder den Webmailer eine als
Alias definierte SMTP-Adresse auch fr
den Versand zu benutzen. Scalix 12.5
realisiert diese Funktion. Bei Microsoft
Exchange geht das brigens weiterhin
nur mit Third-Party-Add-ons, andere Pro-

dukte zum Beispiel Kerio knnen dies


aber mittlerweile auch.

Verbesserungsbedarf bleibt
Akuter Verbesserungsbedarf besteht bei
der Untersttzung neuerer ExchangeActivesync-Versionen. Auch Scalix Web
Access, der Webmailer, wirkt trotz der
jetzt endlich eingebauten zu Outlook
und Activesync kompatiblen Aufgabenverwaltung angesichts moderner HTML5-Clients doch etwas angestaubt. Eine
Runderneuerung ist fr die Version 13
angestrebt. Mit Blick auf die Entwicklungen der letzten Jahre muss Scalix erst
noch unter Beweis stellen, dass es diese
Plne auch tatschlich umsetzt.
Chancen bestehen sicherlich. Eine Preview der nchsten Version 12.6 hat die
Firma jedenfalls zeitgleich mit der Release 12.5 verffentlicht. In der Pressemitteilung zur Version 12.5 bekennt sich
der Hersteller weiterhin zu seiner Strategie, auch langfristig Microsoft Outlook als
eine wesentliche Komponente der Client
of ChoiceStrategie untersttzen zu wollen. Dies schliet Office 2016 ein

E Tine 2.0
Dass es nicht immer das ganz groe Geld
sein muss, stellte Metaways im vergangenen Jahr unter Beweis. Die Macher von

Ganz ohne Venture Capital kommt nach


eigenen Angaben Zarafa ([17], Abbildung 8) aus. Dies soll sich dem Vernehmen nach auch zuknftig nicht ndern.
In einer auf permanentes Wachstum ausgelegten Gesellschaft kommt man allerdings ohne groe Kooperationen nicht
weit. Anfang Mrz gab Zarafa die Zusammenarbeit mit Amazon im Kontext
des Produkts Amazon Workmail [18]
bekannt.
Gleichzeitig stellte die niederlndischdeutsche Firma klar, dies sei keine Abkehr von der Mglichkeit, Zarafa on premise, also im eigenen Rechenzentrum,
zu betreiben. Es ist durchaus denkbar,
dass die neue Partnerschaft die Entscheidung, in Zukunft ohne primren Fokus
auf Outlook zu entwickeln, befrdert hat.
Ob die Technik den Ausschlag dazu gab,
sei mal dahingestellt, geholfen haben
mag aber, dass innerhalb der vergangenen Jahre einige der niederlndischen
Zarafa-Entwickler zu Amazon Web Services gewechselt sind.

Weniger Outlook
Angesichts der im Januar 2015 publizierten nderungen der Produktstrategie
mit der Abkehr von Outlook [19] scheint
eine Rckschau auf die Entwicklungen
der letzten vier Jahre wenig sinnvoll.
Dennoch haben gerade sie das Erscheinungsbild des Produkts und Unternehmens entscheidend geprgt. Lange Zeit
und mit groem Ressourcenbedarf lag
der Fokus auf einer grtmglichen Kompatibilitt zu den Groupwareprodukten
von Microsoft.
Whrend dieser Ansatz fr Outlook auf
Windows noch zufriedenstellend funktionierte, war der Versuch, eine skalierbare
Implementierung der Exchange Web Services (EWS) bereitzustellen, weniger von
Erfolg gekrnt. Das Risiko, stndig dem

08/2015

In einer Ankndigung von Anfang April


hat Zarafa zwar fr Bestandskunden die
Untersttzung aktueller Outlook-Versionen ber den Konnektor (Zarafa-Client)
um ein Jahr bis zum April 2017 verlngert, wird allerdings damit nicht allen
Kundenwnschen entsprechen knnen.
Outlook soll daher nicht vollstndig auen vor bleiben.
Die stark von Zarafa geprgte OpenSource-EAS-Implementierung Z-Push
[20] ist eine immer wieder genannte
Option, zumindest mit Versionen ab

patible Dateiverwaltung Z-Files geplant.


Da derartige Funktionen aber auch schon
in anderen Lsungen in hnlicher Form
existieren, wird Zarafa noch an Details
arbeiten mssen.

Groupware

Sysadmin

Doch noch ein Weilchen?

Outlook 2013 weiterarbeiten zu knnen.


Dass die Entwickler Funktionen, die ber
die EAS-Spezifikation hinausgehen, implementieren knnen, haben sie schon
unter Beweis gestellt. Es ist denkbar, dass
es ihnen auf diese Art gelingt, doch noch
etwas mehr Groupwarefunktionalitt wie
den Stellvertreterzugriff auf andere Mailboxen ber Activesync bereitzustellen.
Netter Nebeneffekt: Von diesen nderungen knnten auch die mobilen Clients
profitieren.
Auf Client-Seite will sich Zarafa verstrkt
auf die mittlerweile als Version 2.0 verfgbare Webapp konzentrieren. Hier bieten sich mit der Loslsung von den Vorgaben Microsoftscher Groupware-Ideen
Mglichkeiten, ein Produkt mit einem
eigenen Gesicht und eigenen Fhigkeiten zu gestalten. Im ersten Schritt sind
bereits prsentierte Lsungen fr ber
das Medium E-Mail hinausgehende Kollaborationswerkzeuge wie die Integration
von Webmeetings und die Webdav-kom-

Fehlende Administration
Ein des fteren zu hrender Kritikpunkt ist das Fehlen einer grafischen
Administrationsoberflche. Leider vermochte das 2011 vorgestellte Z-Admin,
eine Weiterentwicklung von Yaffas [21],
diese Lcke nicht fllen. Whrend die
tglichen Administrationsaufgaben wie
Nutzer- und Gruppenverwaltung im Allgemeinen durch die bliche Integration
in vorhandene Verzeichnisdienste wie
Active Directory oder Open LDAP mit deren Werkzeugen erledigt werden, fehlen
weiterhin Werkzeuge zur Administration
des Servers selbst.
Einen Teil davon knnte in Zukunft Kopano liefern [22]. Kopano ist ein fr

www.linux-magazin.de

Marktfhrer hinterherprogrammieren zu
mssen und dafr erhebliche Ressourcen
vorzuhalten, ist fr Zarafa zu gro geworden. Es drfte auch dem Hersteller klar
sein, dass ein Abwenden von Outlook als
dem Dreh- und Angelpunkt des Produkts
zugleich eine vernderte Kundenklientel
bedeutet.

63

08/2015

Sysadmin
Groupware

zustzlich noch [zimbra.org] in seinen


Bookmarks abspeichern.

www.linux-magazin.de

64

Aus Telligent wird Zimbra

Abbildung 8: Auch Zarafa integriert Apps in seine Webapp und reduziert die Outlook-Untersttzung.

das zweite Quartal 2015 angekndigter


Cloudservice, der dem genderten Geschftsmodell von Zarafa Rechnung trgt
und der Verwaltung und Optimierung der
eigenen Zarafa-Installation egal ob als
Clouddienst oder in eigener Regie dienen soll.

E Zimbra
Zu den absoluten Gewinnern des Venture-Capital-Pokers drften die ursprnglichen Investoren von Zimbra [23], gehren. Die von Insidern kolportierten etwa
15 Millionen Dollar Startkapital reichten
aus auch dank einer geschickten Platzierung des Produkts bei Comcast, einem
der grten US-amerikanischen Provider
, um im September 2007 die Firma fr
350 Millionen Dollar an Yahoo zu verkaufen.
Die sehr wahrscheinliche Intention
von Yahoo, mit Zimbra im Portfolio ein
Gegengewicht zu den mchtig aufstrebenden Google Apps zu schaffen, ging
aber nicht auf. Im Januar 2010 kndigte
VMware die bernahme von Zimbra zu
einem ungenannten, aber mit Sicherheit
geringeren Betrag als 2007 an.
Doch auch das Engagement von VMware
war nicht besonders frderlich fr die
Entwicklung der Groupware. Das bestehende Partnernetzwerk konnte zumeist
mit einer zustzlichen Collaboration-

Lsung im Portfolio nichts anfangen und


auch sonst gelang es nicht, das Produkt
in die eigenen Angebote sinnvoll zu integrieren.

Stark in den USA


Zumindest im deutschsprachigen Raum
blieb Zimbra in dieser Zeit nahezu unsichtbar (Abbildung 9). Im Juli 2013
verkaufte VMware Zimbra schlielich
an Telligent Systems weiter, eine Firma,
die bis dahin im Bereich Social Software
aktiv war, es dort aber immerhin in den
fr Entscheider relevanten magischen
Quadranten von Gartner geschafft hatte.
Den Kauf durch Telligent haben unter
anderem Intel Capital und VMware selbst
finanziert.
Wenige Monate spter benannte sich Telligent dann vollstndig in Zimbra um
und vermarktet seitdem alle Produkte
unter einem einheitlichen Dach. Anfnglich war dies etwas irritierend, da Zimbra Social und Zimbra Collaboration fast
identische Versionsnummern tragen. Die
in den letzten Monaten vom Unternehmen ausgehenden Signale, insbesondere
zur Open-Source-Lizenzierung und einer
besseren Untersttzung der Community,
geben aber Anlass zur Hoffnung, dass
hier noch interessante Dinge passieren
knnen. Neben der URL [zimbra.com]
sollte sich der Open-Source-Fan wohl

Seit Telligent Zimbra vor knapp zwei


Jahren bernommen hatte, war zunchst
Konsolidierung angesagt. Telligent firmiert seit September 2013 unter dem
offensichtlich bekannterem Namen, welcher brigens einem in den spten 70er
erschienenen Song der New-Wave-Band
Talking Heads entlehnt ist.
Ein erstes greres Zeichen wurde mit
der Wiederbelebung des unter VMwaregide beerdigten Zimbra Desktop gesetzt.
Den mgen zwar nicht alle Endanwender vielleicht nur, weil nicht Outlook
draufsteht , er bietet aber eine wirkliche
Alternative zum Platzhirsch.
ber HTML 5 als technologische Basis
fr einen offlinefhigen Webclient redet
die Branche seit Jahren. Zimbra Collaboration 8.5, erschienen im August 2014,
lieferte ihn nun, zwar nicht als Erster,
aber zumindest als einer von wenigen
Anbietern. Die Exchange Web Services
(EWS) forderten offensichtlich auch die
Kunden, sodass Zimbra diese ebenfalls
mit 8.5 erstmalig untersttzt.
Auer den neuen Features brachte die
8.5er Release auch eine Umstellung der
Lizenzierung fr die Open Source Edition auf Lizenzmodelle gem den Standards der Open Source Initiative [24].
Die Serverplattform steht jetzt unter der
GPL-Version 2, die Webapplikation unter

Die Autoren
Dirk Ahrnke beschftigt
sich seit ber 15 Jahren mit
dem Einsatz von Group
wareprodukten und IT-Infrastruktur-Lsungen im kommerziellen Bereich. Er ist
Grnder und Geschftsfhrer der Leipziger it25
GmbH.
Markus Feilner ist ein LinuxSpezialist aus Regensburg,
der seit 1994 mit dem freien
Betriebssystem als Autor,
Trainer, Consultant und Journalist arbeitet. Der ConchDiplomat, Minister der Universal Life Church und
Jedi-Ritter leitet heute das Dokumentationsteam
bei Suse in Nrnberg.

08/2015

der Common Public Attribution License


(CPAL) in der Version 1.
In der letzten Major-Release Zimbra Collaboration 8.6, erschienen im Dezember
2014, konzentrierten sich die Entwickler funktionsseitig stark auf das Thema
Accessibility, also auf die barrierefreie
Bedienung des Webclients gem der USVorgabe Section 508 [25]. Die durchgngige Tastaturbedienung soll dann in
Version 8.7 implementiert sein.

Zukufe
Auch Zimbra versucht ber Zukufe
von Firmen und Produkten das eigene
Portfolio aufzuwerten. Im Juli 2014 kam
Mezeo, ein Anbieter von Filesync- und
Share-Software, hinzu. Das neue Produkt
hat bereits einen Namen Zimbra Sync
and Share, ist aber aktuell noch nicht
offiziell verfgbar. Nach Aussagen des
Herstellers ist geplant, mittelfristig damit
auch die bisherige Datenablage von Zimbra zu ergnzen beziehungsweise ganz
zu ersetzen.
Angesichts der Frequenz des Eigentmerwechsels weist das Produkt Zimbra eine
berraschende Kontinuitt auf. Da die
groen Kunden der frhen Jahre nicht
abgesprungen sind, war es dem Kernteam offensichtlich mglich, auch unter
neuen Landlords ganz normal weiterzuarbeiten. Auch aus diesem Grund bildet
Zimbra nach wie vor eine Lsung mit

ausgereiften Installations- und Administrationswerkzeugen und zustzlich mit


einer guten und umfassenden Dokumentation.

Fazit
Nur wenig Neues gab es bei Kerio und
Tine (bei beiden mal von Cal- und Carddav abgesehen). Postpath (siehe Kasten
Postpath) ist ganz aus dem Rennen.
Zarafa wackelt ein wenig, weil diverse
Entwickler die Firma verlieen, vor allem
aber wegen der durchaus nachvollziehbaren Entscheidung, Outlook in Zukunft
nicht mehr zu untersttzen. Von Scalix
man hre und staune gibt es eine
neue Version, die tatschlich Neuerungen
bringt, aber noch lange nicht das Ende
der Fahnenstange sein kann.
Zimbra ist finanzstark wie eh und je,
aber vor allem in den USA vertreten, was
auch an der groen Kontinuitt innerhalb der Software liegt. Es ist gut mglich, dass sich dieser Anbieter bald noch
etwas mehr in Richtung Open Source
bewegt. Das wiederum nmlich die
Themen Open Source, Datensicherheit
und auch offene Entwicklung sind die
angestammte Domne von Kolab. Dessen
Entwickler und Manager treiben die Software stetig voran. Davon konnten sich
interessierte Groupware-Anwender und
Entwickler nicht zuletzt auf dem Kolab
Summit 2015 ein Bild machen. (jcb) n

www.linux-magazin.de

Groupware

Sysadmin
Abbildung 9: Fast unsichtbar in Deutschland, doch in den USA stark verbreitet: Zimbra.

Infos
[1] Dirk Ahrnke, Kolab, Open Xchange,
Zarafa und Zimbra im Vergleich: [http://
www.linuxmagazin.de/Ausgaben/2011/
09/GroupwareVergleich/]
[2] Studie Unternehmenskommunikation
im Wandel: [http://www.techconsult.de/
index.php/component/content/article/
43uncategorised/282mpgroup]
[3] Kerio: [http://www.kerio.com]
[4] Kolab: [http://www.kolab.org]
[5] Kolab: [http://www.linuxmagazin.de/
Ausgaben/2013/03/Kolab3/]
[6] Hosted Kolab:
[http://www.linuxmagazin.de/NEWS/
MyKolabHostedGrouwarenach
SchweizerRechtundGesetz/]
[7] Kolab bernimmt Red Hats Modell:
[http://www.linuxmagazin.de/NEWS/
KolabEnterpriseOSSGroupwareuebernimmtRedHatModellfuerEnterpriseVersion/]
[8] Kolab-Mailinglisten:
[http://lists.kolab.org]
[9] Roundcube Next bei Indiegogo:
[https://www.indiegogo.com/projects/
roundcubenext2]
[10] Open Xchange:
[http://www.openxchange.org]
[11] Dovecot Merge:
[http://www.theregister.co.uk/2015/03/
24/open_xchange_skype_dovecot_merger/]
[12] Oxpedia: [http://oxpedia.org]
[13] Postpath: [http://newsroom.cisco.com/
dlls/2008/corp_082708.html]
[14] Scalix: [http://www.scalix.com]
[15] Scalix 12.5: [http://www.scalix.
com/main/37english/support/
400scalix125releasenotes]
[16] Tine 2.0: [https://www.tine20.org]
[17] Zarafa: [http://www.zarafa.com]
[18] Zarafa und Amazon Workmail:
[http://www.zarafa.com/zarafa
partnerswithawstoextendproduct
portfoliowithamazonworkmail/]
[19] Zarafa stoppt Outlook-Weiterentwicklung:
[http://www.linuxmagazin.de/NEWS/
ZarafaWebRTCWebmeetingskeineOutlookWeiterentwicklungabMSO2015/]
[20] Z-Push: [http://zpush.org]
[21] Yaffas: [http://www.yaffas.org]
[22] Kopano: [http://www.zarafa.com/
faqaboutkopano/]
[23] Zimbra: [http://www.zimbra.com]
[24] OSI: [http://www.opensource.org]
[25] Section 508: [http://www.section508.gov]

65

08/2015

Sysadmin

Open Stack Sahara

Bei Big Data ist Apache Hadoop aktuell der Liebling des Marketings. Doch das Setup einer vollstndigen Hadoop-Umgebung ist nicht einfach. Open Stack Sahara verspricht dagegen Hadoop auf Knopfdruck. Martin Loschwitz

xtockimages, 123RF

66

www.linux-magazin.de

Open Stack Sahara

Rechenmaschine

Hadoop ist eines der Buzzwrter aus


dem Kontext des Cloud Computing. Die
Big-Data-Anwendung gehrt deshalb in
dieses Reich, weil skalierbare Cloudumgebungen wie fr sie gemacht erscheinen. Hadoop bringt obendrein beste Referenzen mit: Das Werkzeug setzt auf Map
Reduce von Google [1] und wei damit
einen ausgesprochen potenten Algorithmus an seiner Seite. Zudem ist der Entwickler der Apache-Suche Lucene, Doug
Cutting, auch der Erfinder von Hadoop
an Vorschusslorbeeren mangelt es dem
Projekt also nicht.

Komponenten-Wirrwarr
Doch wie bei so vielen Komponenten
aus dem Cloud-Dunstkreis kursiert auch
in Sachen Hadoop viel Halbwissen. So
haben viele Admins den Begriff Hadoop
zwar schon einmal gehrt, knnen sich
aber von Big Data einmal abgesehen

gar keine Vorstellung davon machen,


worum es eigentlich geht. Fest steht: Hadoop ist ein ausgesprochen komplexes
Gebilde, das sich aus mehreren Diensten
und diversen Erweiterungen zusammensetzt. Das Herz der Applikation besteht
aus zwei Teilen:
nDas Hadoop Distributed File System
(HDFS) ist ein spezielles, skalierbares
Dateisystem. Es zeichnet sich durch
die inhrente Hochverfgbarkeit aus
und funktioniert im Wesentlichen wie
ein objektbasierter Speicher (zum Beispiel Ceph, das mittlerweile auch als
Ersatz fr HDFS auftreten kann).
nDer Map-Reduce-Algorithmus stammt
aus dem Hause Google. Letztlich geht
es bei Big Data meist darum, genau
jene Daten aus einem groen Pool zu
fischen, die fr den jeweiligen Einsatz am sinnvollsten zu sein scheinen. Map und Reduce sind dabei zwei
Funktionen innerhalb von Hadoop,

die genau diesem Zweck dienen. Die


Details zum Algorithmus finden sich
unter [1].
Zu den beiden Kernbestandteilen gesellen sich mehrere Komponenten, die zwar
nicht zwingend ntig sind, aber in die
Kategorie Nice to have passen:
n
Hbase bietet die Mglichkeit, Daten
aus einem Hadoop-Cluster in Form
einer Datenbank der Auenwelt anzubieten.
nHive bietet Data-Warehouse-Funktionalitt, sodass sich die in Hadoop abgelegten Daten nicht nur durchforsten,
sondern auch katalogisieren lassen,
wobei eine SQL-hnliche Syntax zum
Einsatz kommt.
Die Liste ist freilich nicht vollstndig; offizielle wie inoffizielle Erweiterungen zu
Hadoop gibt es fr nahezu jede erdenkliche Aufgabe. Seit der ersten HadoopVersion 2008 hat die Software eine steile
Karriere hingelegt.

Komplexitt
Viel Funktionalitt bedingt hohe Komplexitt. Hadoop bildet da keine Ausnahme:
Vom Plan, Hadoop zu installieren, bis
hin zur nutzbaren Installation sind viele
Arbeitsschritte zu absolvieren. Schneller
geht es, wenn der Admin Zugriff auf ein
gut vorbereitetes Open Stack hat: Die
Open-Stack-Komponente Sahara [2] offeriert Hadoop-as-a-Service. Per Mausklick,
so das Versprechen, klickt sich der Admin
eine komplette Hadoop-Umgebung zusammen, die kurze Zeit spter auch tatschlich einsatzbereit sein soll.
Da stellen sich gleich mehrere Fragen:
Hat der Admin auch dann etwas von
Hadoop, wenn er sich mit der Lsung
im Vorfeld gar nicht eingehend beschftigt hat? Funktioniert Sahara berhaupt

08/2015

Auth

SavannaPython-Client

REST-API

SavannaPages

HadoopVM

HadoopVM

HadoopVM

Cluster
Configuration
Manager
Vendors-Plugins

Swift

Job-Sources

Nova

Job-Manager

Data Access
Layer

Data-Sources

Trove-DB

Resources
Orchastration
Manager

Heat

Glance

Cinder

Neutron
Abbildung 1: Sahara ist ein komplexes Gebilde aus mehreren Komponenten, die wichtigsten zeigt diese Grafik.

und lsst sich mit der Hadoop-Installation, die Sahara produziert, tatschlich
sinnvoll arbeiten? Das Linux-Magazin hat
Sahara getestet.

Bewegte Geschichte
Sahara hat diesen Namen noch gar nicht
so lange, anfangs firmierte Sahara als
Savanna. Doch die Entwickler mussten
sich einen neuen Namen fr ihr Projekt
suchen, weil sie befrchteten, es knnte
einen Rechtsstreit um den Namen geben.
Das ist insofern kurios, als schon die
SDN-Komponente in Open Stack einen
hnlichen Werdegang hinter sich hat:
Aus Quantum musste dort bereits vor
Jahren Neutron werden.
Stringenter als der Name ist das Ziel von
Sahara: Das Programm fragt Anwender
zunchst nach einigen grundlegenden
Parametern hinsichtlich der Konfiguration des knftigen Hadoop-Clusters. Hat
der Admin kundgetan, welche Art von
Hadoop-Cluster ihm vorschwebt, soll Sahara sich so die Theorie an die Arbeit
machen und dem Anwender letztlich
einen kompletten Cluster mit Hadoop
schlsselfertig bergeben.

Wer sich schon einmal mit Open Stack


nher beschftigt hat, kriegt an dieser
Stelle mglicherweise Schnappatmung:
Genau mit diesen Voraussetzungen geht
schlielich auch Trove ans Werk, das
eine automatische MySQL-Installation in
Open Stack ermglichen soll.
Die Realitt ist, dass Trove ein kleines
Feature-Set nicht besonders intelligent
umsetzt. Kritikpunkte sind dabei neben dem wackeligen Trove-Agent, der
in Vanilla-VMs startet und dort MySQL
kommissionieren soll, auch Performanceund Sicherheitsaspekte. Von Anfang an
bekommt Trove vorgeworfen, dass es we-

nig Funktionalitt bietet, dafr aber sehr


komplex daherkommt.
Soviel vorweg: Bei Sahara haben sich
die Projektentwickler deutlich mehr Gedanken ber eine sinnvolle Architektur
gemacht.

Diverse Komponenten
Wie fast alle anderen Open-Stack-Dienste
kommt Sahara in Form mehrerer Komponenten daher (Abbildung 1). Das
Kernprojekt besteht aus einer Applikation fr die Authentifizierung, einer
Provisionierungs-Engine, einer eigenen

Abbildung 2: Unter dem Menpunkt Data Processing sind in Horizon die Hebel fr Sahara versteckt wenn
der Admin die Zusatzseiten installiert.

Open Stack Sahara

Sysadmin
Horizon

HadoopVM

www.linux-magazin.de

Keystone

67

08/2015

Sysadmin
Open Stack Sahara
www.linux-magazin.de

68

Knoten der Installation (die Core Worker)


verteilt. Weil es aber
eine Instanz im Cluster geben muss, die
jederzeit wei, welche Daten wo liegen,
ist der Master mit dem
Name-Node ausgestattet gewissermaen
ein Cluster-weiter Server fr die Metadaten
Abbildung 3: Wer selbst ein Template fr einen Hadoop-Cluster bauen
von HDFS.
mchte, findet im Dashboard die passenden Parameter.
Sahara denkt also
nicht mehr in der DiDatenbank fr Betriebssystemimages, mension einzelner VMs schlielich
einem Jobscheduler fr Elastic Data Prohandelt es sich um einen beliebig skacessing (EDP) und den Plugins, ber die lierbaren Rechencluster. Die genannten
sich verschiedene Hadoop-GeschmacksGruppen treten an die Stelle einzelner
richtungen starten lassen. Dazu gesellen
VMs. Startet der Admin also einen Clussich ein Sahara-Kommandozeilenclient
ter per Sahara, fhrt das automatisch
und eine Erweiterung von Horizon, damit
zum Start der drei Gruppen Master, Core
Admins Sahara-Dienste auch ber das
Worker und Worker. Wie viele VMs zu
Open-Stack-Dashboard nutzen knnen
diesen Gruppen gehren, legt Sahara
(Abbildung 2). Freilich darf auch ganz
auf Zuruf des Admin zur Laufzeit dynader Philosophie von Open-Stack folgend
misch fest und passt die Anzahl spter
ein API auf Restful-Basis nicht fehlen.
auf Wunsch automatisch an.

Begriffswirrwarr

Intelligentes Provisioning

Wie ebenfalls typisch fr Open Stack


wirft Sahara mit einer Unmenge Begriffe
um sich, die es auerhalb des SaharaKontexts nicht oder mit anderer Bedeutung gibt. Will der Admin den berblick
behalten, muss er sich an die Nomenklatur von Sahara gewhnen.
Von zentraler Bedeutung ist beispielsweise der Begriff Cluster: Als solche gelten in Sahara alle virtuellen Maschinen,
die zu einer Sahara-Installation gehren.
Das umfasst die Sahara-Controller wie
die Worker. Wieder zwei neue Begrifflichkeiten: Sahara unterteilt Hadoop-Installationen in Knoten, auf denen spezifische Dienste laufen. Der Master betreibt
den Sahara-Name-Node, der als Metadatenserver fungiert. Die Core Worker
enthalten tatschlich Daten und lassen
auch einen Tasktracker laufen, der vom
Masterknoten Befehle annimmt. Einfache
Worker verarbeiten nur Daten und holen
sich die von den Core Workers.
Zur Erinnerung: Hadoop nutzt als zentrale Komponente HDFS als Dateisystem,
das fr den HPC-Einsatz ausgelegt ist:
Die Daten sind auf die vorhandenen

Warum hat es den Anschein, als seien


viele Komponenten doppelt vorhanden,
und zwar in Sahara wie auch in Open
Stack selbst? In Form von Keystone existiert schlielich schon eine Benutzerverwaltung und Heat ist die Open-Stackeigene Engine fr Templates, die augenscheinlich mit der Provisioning Engine
nachgebildet wird.
Der zentrale Dreh- und Angelpunkt in Sahara ist definitiv die Provisioning Engine,
also der Teil, der Hadoop-Umgebungen
tatschlich startet. Ohne ihn geht bei
Sahara gar nichts. Setzt der Admin per
Webinterface oder CLI etwa den Befehl
ab, einen Hadoop-Cluster zu starten, so
schlgt das Kommando zuerst bei der
Provisioning Engine auf und wird dann
dort weiterverarbeitet.
Der Dienst hat mehrere Aufgaben: Zunchst interpretiert er die Eingabe des
Nutzers. Ganz gleich, ob dieser den Befehl grafisch oder auf der Kommandozeile
abgesetzt hat sein Kommando enthlt
einige Konfigurationsparameter, die Sahara steuern (Abbildung 3). Selbst wenn
er die ntigen Parameter nicht selbst an-

gibt, ersetzt das Sahara-Plugin fr Horizon oder das CLI sie durch passende
Defaults. Die wichtigsten beschreiben die
Hadoop-Distribution und die darunterliegende Linux-Distribution. Auch legt der
Admin per Befehl an Sahara die Topologie des Clusters fest, bestimmt also,
wie viele Knoten die einzelnen Gruppen
anfnglich haben sollen.
Dann geht die Party los: Der Provisioning Scheduler ist dafr verantwortlich,
die notwendigen Befehle an die anderen
Open-Stack-Dienste zu leiten. Das umfasst die Open-Stack-Authentifizierung
Keystone und den Image-Dienst Glance.
Sahara implementiert folglich keinen
Keystone-Ersatz. Der Dienst, der in Sahara die Authentifizierung abwickelt,
greift auf Keystone zurck. hnliches
gilt fr die Sahara-eigene Image-Registry:
Sie fut auf den Funktionen von Glance,
rstet aber beim Image-Management Hadoop-spezifische Funktionen nach, die in
Glance fehlen.
Auch die Provisioning Engine selbst produziert nicht unntz doppelten Code.
Weiter oben war bereits die Rede von den
verschiedenen Gruppen, die zu einem
Hadoop-Cluster gehren (Master, Core
Workers, Workers). Heat, das in Open
Stack eigentlich fr zentrale Orchestrierung verantwortlich zeichnet, kennt diese
Einteilung aber nicht. Ein per Heat aufgesetzter Verbund von VMs (Stack) geht
stets davon aus, dass der Admin einzelne
VMs per Template definiert und dann
durch Heat starten lsst.
Damit Heat und die Provisioning Engine
von Sahara sinnvoll miteinander reden
knnen, enthlt Letztere einen eingebauten Dolmetscher: Aus Sahara fallen am
Ende tatschlich die Templates heraus,
mit denen Heat arbeiten kann. Aus Sicht
des Admin hingegen gengt es, in Sahara
selbst Templates anzulegen, die einen
Hadoop-Cluster grundstzlich beschreiben. Den Rest erledigt Sahara intern.

Geschmcker sind
verschieden
Hadoop ist die Bezeichnung einer konkreten Umsetzung von Googles MapReduce-Algorithmus nmlich des originalen Hadoop des Apache-Projekts. In
den vergangenen Jahren haben allerdings
gleich mehrere Anbieter damit begonnen,

08/2015

Bis hierher bezog sich der Artikel auf


Saharas Fhigkeiten, Cluster mit Hadoop
zu starten. Allerdings beschrnken sich
die Fhigkeiten von Sahara nicht auf diesen Arbeitsschritt. Im Hintergrund implementiert das Tool nmlich ein umfassendes Jobmanagement fr Hadoop. Im
Grunde will Sahara also als Komponente
von auen wissen, was in den VMs mit
Hadoop passiert. Der Nutzer wrde in
diesem alternativen Modus selbst auch
keine VMs mehr starten.
Um die Sahara-Funktionalitt, die dessen
Entwickler als Analytics-as-a-Service beschreiben, sinnvoll zu nutzen, wrde er
stattdessen den Rechenjob selbst bei Sahara direkt anmelden. Dazu legt er einige
Parameter fest: Zu welcher der in Hadoop
vorgegebenen Kategorien gehrt die Aufgabe? Welches Skript soll bei der Aufgabe
ausgefhrt werden und woher bekommt
Hadoop die passenden Daten? Wo soll
Sahara die Ergebnisse der Berechnungen
ablegen und wo die Logs?
Sobald Sahara die Werte kennt, kmmert
es sich um den Rest danach automatisch:
Es startet also einen Hadoop-Cluster,
fhrt die entsprechenden Aufgaben darin
aus und stellt dem Admin am Ende nur

Open Stack Sahara

Sysadmin

Analytics-as-a-Service

Abbildung 4: Die Sahara-Seiten im Open-Stack-Dashboard liefern schnell die Informationen, welche Knoten zu
einem Sahara-Cluster gehren.

noch das Resultat dieser Berechnungen


zur Verfgung. Mittels EDP (Elastic Data
Processing) hat der Admin die Option,
Sahara die fertigen Ergebnisse in einem
Objektspeicher nach Open-Stack-SwiftStandard ablegen zu lassen.
Im Grunde zieht Sahara bei dieser Form
der Arbeit neben dem Layer zum Starten
von VMs einen zweiten Layer der Abstrahierung zwischen Nutzer und Software
ein die Nutzung von Hadoop ist fr den
Admin damit selbst dann mglich, wenn
der sich mit den Hadoop-Details gar nicht
auseinandersetzen mchte.

Saharas langer Arm in die


VM
Damit Sahara innerhalb der Hadoop-VMs
die Dienste so konfigurieren kann, dass
am Ende ein funktionierendes Hadoop
entstanden ist, muss es vorrangig in den
VMs arbeiten. Die Entwickler sind dem
Vorbild von Trove und anderen Diensten dieser Art gefolgt und realisieren die
Konfiguration mit einem entsprechenden
Agent. Damit die Magie funktioniert,
muss der Admin sich ein entsprechendes
Basis-Image fr die Sahara-Nutzung besorgen oder entlang der Anleitung unter
[3] selber bauen.
Der Agent lste 2014 den alten und bis
dahin genutzten Mechanismus ab, bei
dem das Skript cloudinit einen SSHServer konfigurierte, den Sahara dann
von auen ansprach. Die Agent-Lsung
ist viel eleganter und schliet obendrein das Einfallstor, das fr eingehende
SSH-Verbindungen hin zu Hadoop-VMs
vorher offen sein musste.
Und anders als zum Beispiel bei Trove
steuert der Sahara-Agent einen echten
Mehrwert bei: Whrend sich beispielsweise ein MySQL noch einigermaen

leicht selbst installieren und konfigurieren lsst, ist das bei Hadoop nicht so.
Bei Sahara zahlt sich der Agent also tatschlich aus.

CLI oder Dashboard?


Wie jeder Open-Stack-Dienst haben Nutzer bei Sahara zwei Mglichkeiten, die
Dienste der Software zu beanspruchen.
Mglichkeit eins fhrt ber Horizon (Abbildung 4), also das Open-Stack-Dashboard. Hier ist fr Admins im Moment
aber noch Handarbeit angesagt, denn
ordentlich als Paket verfgbar sind die
ntigen Dateien noch nicht. Auch sind
die Sahara-Komponenten nicht Bestandteil des offiziellen Dashboard.
Weniger umstndlich ist wie blich der
Kommandozeilenclient: Dem Beispiel
der anderen Open-Stack-Dienste folgend
existiert ein pythonsaharaclient, der
alle wichtigen Operationen auf der Kommandozeile erlaubt. Gleichzeitig ist es
auch mglich, die entsprechende PythonBibliothek aus anderen Skripten heraus
zu nutzen wer auf Programmierebene
Zugriff auf Sahara haben will, ist hier
also an der richtigen Stelle.

Automatisches Skalieren
Die Provisioning Engine von Sahara kann
deutlich mehr, als nur VMs fr den Betrieb neuer Hadoop-Installationen starten. Die Arbeit mit Hadoop ist allerdings
je nach Umfang des durchzuackernden
Materials rechen- und speicherintensiv.
Naturgem wollen Unternehmen aber
nur so wenig Geld wie irgend mglich
ausgeben.
Einerseits knnten Admins also ihre Hadoop-Cluster schon beim Start mit so vielen virtuellen CPUs und virtuellem Spei-

www.linux-magazin.de

den Nutzern eigene Hadoop-Distributionen zu kredenzen. Das ist hnlich wie


bei Linux-Distributionen selbst: Im Kern
steckt zwar immer Apaches Hadoop,
doch wird es um verschiedene Patches
erweitert und dem Nutzer zusammen mit
allerlei ntzlichen und nutzlosen Erweiterungen geliefert.
Bei der Arbeit an Sahara mussten die
Entwickler sich also entscheiden, ob
sie nur das originale Hadoop untersttzen oder ob sie auch Support fr andere Hadoop-Implementierungen liefern
wollen. Herausgekommen ist die zweite
Variante: ber Plugins lsst sich Sahara
so erweitern, dass es wahlweise die originale Hadoop-Variante ausliefert oder eine
andere, etwa die von Hortonworks oder
von Cloudera.
Dadurch wird Sahara sehr flexibel: Je
nach Setup kann der Admin sogar festlegen, dass mehrere Plugins gleichzeitig
aktiv sind. Dem Nutzer selbst bleibt dann
die Wahl, welche Geschmacksrichtung er
bevorzugt.

69

08/2015

Sysadmin
Open Stack Sahara
www.linux-magazin.de

70

zu integrieren, sollten
das Thema Hardware
klug angehen. Damit
ist klar: Um Hadoop
sinnvoll zu betreiben,
bentigen Kunden viel
einsetzbare Leistungsfhigkeit und das sowohl im Hinblick auf
CPU und RAM wie
auch im Hinblick auf
das Netzwerk. Denn
Abbildung 5: Ein Cluster lsst sich in Sahara entweder durch den Admin von
ein Hadoop-Cluster
Hand skalieren oder automatisch im Analytics-as-a-Service-Modus.
ist sehr Netzwerk-intensiv, auch Gigabitcher versehen, dass es sicher reicht, um
Links lassen sich de facto ohne groe
die anstehenden Tasks gut abzuarbeiten. Schwierigkeiten saturieren.
Andererseits bekommen Hadoop-Cluster
regelmig neue Aufgaben zugewiesen.
Um den dynamischen Zuwachs abzufangen, mssten Admins stndig mehr
Damit steht zweifellos fest: Wer Hadoop
als Service anbieten mchte, greift zu
virtuelle Ressourcen einbinden, als anden greren CPUs, zu vielen RAM-Riefangs notwendig sind doch verstiee
geln und idealerweise auch zu schnellen
das gegen das Effizienzgebot.
10-GBit-Netzwerkkarten. Das allein geSahara ist daher ab Werk mit der Fhigkeit ausgestattet, automatisch die Anzahl
ngt aber noch nicht wirklich schnell
von VMs in Hadoop-Clustern zu modifiwird Hadoop erst, wenn es lokalen,
zieren. Das geschieht nach Faktoren, die schnellen Speicher nutzen kann.
Zur Erinnerung: Die Default-Konfigurader Admin festlegt. So knnte er Hadoop
tion von Open Stack packt persistente
dazu bringen, mehr Worker zu starten,
wenn auf den vorhandenen Workern die VMs auf Speicher, der im Hintergrund
per I-SCSI angebunden ist. Technisch ist
Last ausgelesen aus Faktoren wie der
CPU-Nutzung der einzelnen Instanzen
das wenig elegant, aber vor allem ist es
eine bestimmte Grenze berschreitet. sehr langsam. Alternativen mit hohen
Durchsatzraten gibt es etwa in Form von
Hadoop skaliert den Cluster also nach
Ceph. Die meisten Alternativen haben
Bedarf selbst.
gemein, dass sie mit einer eher hohen
Das klappt auch dann, wenn der Admin
Analytics-as-a-Service nutzt: Dabei legt Latenz daherkommen, weil die Pakete
stets durchs Netzwerk mssen.
er nur eine Grenze fest, die im Hinblick
auf die Zahl der Instanzen und deren
Lokaler Speicher schafft Abhilfe: Luft
genutzte Ressourcen nicht zu berschreidie VM auf dem Host und nutzt den loten ist (Abbildung 5). Um alles andere
kalen Speicher des Systems, entfllt der
kmmern sich Sahara und die integrierte Umweg ber das Netzwerk. Bis zur akProvisioning Engine selbst.
tuellen Open-Stack-Release Kilo konnte
ISPs, die bereits eine Open-Stack-Platt- Open Stack den Zusammenhang zwiform betreiben und planen in diese Sahara
schen einer VM und einem mit Cinder
erstellten Speicher aber nicht abbilden.
Admins konnten sich also aussuchen, ob
Der Autor
sie eine VM auf persistentem NetzwerkMartin Gerhard Loschwitz
speicher betreiben wollten oder lokal auf
den einzelnen Hypervisors, dann aber
arbeitet als Cloud Architect
nicht persistent.
bei Sys Eleven. Er beschfIn Kilo haben die Entwickler eine lange
tigt sich dort intensiv mit
den Themen Open Stack,
gewnschte Funktion nachgerstet, von
Distributed Storage und
der auch Sahara profitiert: Nun lsst sich
Puppet. Auerdem pflegt er in seiner Freizeit nmlich festlegen, dass Cinder ein VoPacemaker fr Debian.
lume auf dem Host anlegen soll, auf dem

Hardware fr Sahara

auch die virtuelle Maschine startet. Um


das Thema Hochverfgbarkeit muss sich
der Storagetreiber in Cinder dann zwar
selbst kmmern, ber den Umweg ber
DRBD 9 beispielsweise sollte das aber
machbar sein.

Fazit
Cloud und Big Data, das passt eigentlich
wie die Faust aufs Auge. Letztlich sind es
gerade die groen HPC-Setups, die den
Siegeszug des Cloud Computing erst mit
eingeleitet haben. Dass Anbieter groe
Mengen an Ressourcen zur Verfgung
stellen, um Kunden den dynamischen
und flexiblen Hadoop-Betrieb zu ermglichen, ist jedenfalls ein sehr schlssiger
Ansatz. Die Cloud spielt hier besonders
den Vorteil aus, dass der Kunde die Leistung sofort bekommt, statt sich erst umstndlich einen Hardware-Zoo ins Rack
zu hngen.
Erfreulich ist, dass die Sahara-Entwickler
viele Probleme frherer Zeiten gelst haben. Der Umstand, dass sich eine VM
genau dort starten lsst, wo auch das per
Cinder provisionierte Volume liegt, macht
Hadoop berhaupt erst sinnvoll nutzbar.
Denn nur mit schnellem Speicher funktioniert Hadoop brauchbar.
Doch bleibt ein groer Wermutstropfen:
Aktuell gibt es gerade im deutschsprachigen Raum nur wenige Anbieter,
die berhaupt ffentlich zugngliche
Open-Stack-Clouds betreiben. Und die,
die das tun, untersttzen Hadoop nur in
den seltensten Fllen, bieten Sahara also
gar nicht erst an. Derzeit gibt es von
einer Selbstbau-Cloud abgesehen also
kaum die Mglichkeit, die eigentlich sehr
ntzliche Funktionalitt von Hadoop im
Alltag zu nutzen.
Das ist schade: Fnde sich ein Anbieter,
der Sahara im Portfolio hat, er knnte
sich wohl auf den Ansturm von zahlrein
chen Kunden verlassen. (jcb)

Infos
[1] Map Reduce:
[http://de.wikipedia.org/wiki/MapReduce]
[2] Sahara: [http://docs.openstack.org/
developer/sahara/userdoc/]
[3] Images bauen: [http://docs.openstack.
org/developer/sahara/userdoc/
diskimagebuilder.html]

08/2015

Sysadmin

Was Etcd, Consul, Zookeeper & Co. in der Praxis taugen

Etcd, Zookeeper, Consul und hnliche Programme werden unter dem Stichwort Konfigurationsmanagement
zurzeit hei diskutiert. Welche Aufgaben wollen sie konkret lsen? Welche Versprechen knnen sie halten?
Das Linux-Magazin geht der Sache auf den Grund. Martin Loschwitz

Olga Beregelia, 123RF

72

www.linux-magazin.de

Konfig-Management

Zentralverwaltung

Der Hype um Docker hat eine Kategorie


von Programmen ins Bewusstsein vieler
Admins gebracht, die bis dahin fast unbekannt war: die Flotten- und Konfigurationsmanager. Etliche Vertreter dieser
Spezies buhlen um die Gunst der Nutzer:
Etcd [1], Consul [2] oder Zookeeper [3]
sind nur einige.
Doch worum geht es bei den Konfigurationsmanagern eigentlich? Was sind ihre
bevorzugten Einsatzgebiete und warum
sollen Admins sich an diese Neuerung
gewhnen? Das Linux-Magazin erklrt
die Idee hinter den Werkzeugen und lsst
dann die oben genannten drei Vertreter
gegeneinander antreten.

War frher alles besser?


Nicht selten schwelgen Admins in ihren
Erinnerungen, frher sei die Verwaltung
von IT-Landschaften leichter gewesen:
Jeder Host hatte eine definierte Rolle,
die sich im Laufe des Serverlebens nicht

mehr nderte. Wenn von Clustern die


Rede war, ging es meist um kleine HASetups, etwa mit Pacemaker und DRBD
zum Synchronisieren von Daten zwischen den Hosts.
De facto kmpften Admins aber schon
damals mit einem Problem, das es auch
heute gibt: Wenn auf zwei Hosts die Konfiguration von Diensten identisch sein
muss, damit beim Ausfall eines Systems
das andere nahtlos bernehmen kann,
dann ist es ntig, die Konfigurationsdateien irgendwie zu synchronisieren. Oft
kamen zu diesem Zweck Krckenkonstruktionen auf Rsync-Basis zum Einsatz.
Die waren zwar nicht schn, erfllten
aber ihren Zweck.
Doch in den letzten Jahren sind die ITSetups kontinuierlich gewachsen vor
allem aber wurden sie dynamischer. Die
selbst gebastelten Lsungen, mit denen
Admins zwischen den Hosts ihrer Setups
die Konfigurationsdateien auf gleichem
Stand hielten, gerieten immer komple-

xer. Als immer schwieriger erwies es sich


auch, den Zustand von Diensten ber
mehrere Hosts hinweg konsistent zu halten. Hinzu kommt: In Scale-out-Setups
gilt es, auf die Status aller Instanzen zu
achten. Datenbanken geben ein perfektes Beispiel: Ein Schreibvorgang in eine
mit Galera geclusterte MySQL-Datenbank
zieht Events auf mehreren Hosts des
Clusters nach sich ein komplexes Gesamtgebilde entsteht.
Jeder Dienst mit Untersttzung fr das
Skalieren in die Breite steht vor der Notwendigkeit, innerhalb des Verbunds jeweils eine unter mehreren Versionen der
Daten zum aktuellen und validen Datensatz zu erklren. Wichtig ist, dass sich
am Ende alle Komponenten, die an einem
Cluster teilnehmen, ber den Zustand
des Clusters und aller seiner Dienste einig sind.
Die hier vorgestellten Programme wollen
dabei helfen und gehen deswegen ber
die einfache Konfigurationsverwaltung
hinaus: Sie wollen in Scale-out-Setups
eine verlssliche Quelle sein, die ber
den Zustand des gesamten Systems Auskunft geben kann. Was einfach klingt, erweist sich in der Praxis aber als technisch
anspruchsvoll.

Puppet & Co.


Die steigende Komplexitt von IT-Umgebungen war mit ausschlaggebend dafr,
dass sich Werkzeuge fr das zentrale
Management von Konfigurationsdateien
durchsetzten: Mit Puppet oder Chef beschrnkt sich die Admin-Arbeit auf das
Einspielen eines Template und von Konfigurationsparametern, so landen bereits
die richtigen Daten in /etc. Dennoch
lst dieser Ansatz das Problem nur zum

08/2015

Das Fehlen brauchbarer Werkzeuge ist


seltsam, gerade weil das Problem eher
einfach scheint. Der Umstand, dass auf
Linux-Systemen Programme die relevante
Konfiguration immer in Form von Dateien im Verzeichnis /etc vermuten, ist
historisch bedingt. Hier schleppt Linux
Altlasten mit sich, die es von seinem
Vorgnger Unix geerbt hat.
Konfigurationsdateien folgen in vielen
Fllen dem gleichen Prinzip: Einer festgelegten Syntax gehorchend stehen in
einer Textdatei Paare aus Parameter und
Wert. Eigentlich sind Konfigurationsdateien also nichts anderes als rudimentre Key-Value-Stores die sich in Form
von Textdateien allerdings ber mehrere
Maschinen hinweg schlecht verwalten
lassen.
Fr Key-Value-Stores existieren jedoch
mittlerweile mehr als genug sinnvolle
Lsungen erinnert sei an entsprechende
Datenbanken. Was lge also nher, als
das Datenbankprinzip auch auf das Management von Konfigurationsdateien zu
bertragen? Genau hier ffnet sich das
Tor zu den Konfigurationsdatenbanken.

stellers oder mittels eines eigenen Etcd erfolgt.

fr Etcd wie fr Consul und auch Zookeeper ist ein typischer Key-Value-Store.
Doch belassen es jene Programme nicht
dabei. Denn wenn es nur darum ginge,
eine Datenbank fr die Verwaltung von
Einstellungen zu pflegen, wre ein Ansatz etwa auf der Basis von MySQL vermutlich der einfachere Weg.
Praktisch alle Probanden im Test wollen
einen darber hinausgehenden Mehrwert
bieten und preisen deshalb zum Beispiel
ihre inhrente Cluster-Fhigkeit an. Etcd
und Consul versprechen auerdem besonders effiziente Werkzeuge fr das
Flottenmanagement von Diensten: Consul etwa kommt mit eingebauter ServiceDiscovery und wird so flugs zu einem
Telefonbuch in skalierten Umgebungen,
bei dem sich Services dynamisch an- und
abmelden.
Letztlich, so jedenfalls das Versprechen,
sollen Etcd & Co. die behbige Existenz

der typischen statischen Konfigurationsdateien in /etc beenden und zu einer


dynamischen Cluster-Registry werden.
Ob das funktioniert, werden die Testkandidaten im Folgenden unter Beweis zu
stellen haben.

E Etcd von Core OS


Den Auftakt wagt Etcd: Das Programm
ist gewissermaen ein Nebenprodukt von
Core OS, also jener Mikrodistribution, die
sich auf den Betrieb von Docker-Containern spezialisiert hat. Wie praktisch alle
Core-OS-Werkzeuge basiert auch Etcd auf
der Programmiersprache Go. Die Selbstbeschreibung klingt unspektakulr: So
bezeichnet sich das Programm als verteilten Key-Value-Store, der besonders
das Handling von Konfigurationsdateien
in Mehrmaschinen-Setups vereinfachen
und generalisieren soll.

Key-Value-Speicher mit
Mehrwert
Praktisch allen Konfigurationsdatenbanken ist gemein, dass sie sich selbst als
Key-Value-Speicher betiteln. Das gilt etwa

Konfig-Management

Sysadmin

Was ist Konfiguration


eigentlich?

Abbildung 1: Etcd bentigt einen Bootstrapping-Prozess, der wahlweise ber das Etcd-Verzeichnis des Her-

Abbildung 2: Auch wenn Etcd auf einem Host luft, bedeutet das nicht, dass /etc komplett leer ist.

www.linux-magazin.de

Teil. Denn in Scale-out-Setups ist die Konfiguration einzelner Dienste nicht mal
annhernd so statisch wie bei konventionellen Setups.
Cluster-Dienste lassen sich beliebig skalieren, indem nach Bedarf immer mehr
Instanzen von ihnen starten. Fr jede
dieser Instanzen Puppet oder Chef anzuwerfen, um sie mit Konfigurationsdaten
zu versorgen, wre unpraktisch. Deshalb
sind die typischen Automatisierungstools
wie eben Puppet im Inneren von CloudVMs praktisch nicht zu finden. Clouds
brauchen vllig andere Anstze, um die
Konfiguration von Diensten sinnvoll zu
managen. Bis zum Hype rund um Docker
und Open Stack waren entsprechende
Werkzeuge aber kaum bekannt. Der
Cloud-Hype ndert das.

73

08/2015

Sysadmin
Konfig-Management
www.linux-magazin.de

74

Knoten bernimmt das


Regiment. Ein bereits
laufender Etcd-Cluster
fungiert als DiscoveryDienst fr neue Instanzen, die dem Cluster
beitreten. Spter hinzukommende Instanzen
fragen einfach nach,
welche Etcd-Instanzen
schon vorhanden sind,
und verbinden sich mit
ihnen.
Einzig beim ersten Start
des Clusters, dem Bootstrapping (Abbildung
1), gibt der Admin selbst
an, welche Instanz der
erste Master sein soll.
Solange dann mindestens eine Etcd-Instanz
luft, knnen ihr andere
Etcds beitreten oder sie
verlassen, ohne dass ein
Abbildung 3: Klarer Fall: Etcd fhlt sich am wohlsten, wenn es im Rahmen
abermaliges Bootstrapeiner Docker-Installation eingesetzt wird.
ping ntig ist.
Die Cluster-Fhigkeiten
Das Etcd-Frontend ist dabei denkbar simvon Etcd schlieen auch das Quorum
pel konstruiert: Zum Einsatz kommt
ein: Etcd merkt selbststndig, wenn ein
ganz Cloud-typisch eine HTTP-basierte
Cluster in mehrere Teile zerbricht, und
Restful-Schnittstelle, die sich mit jedem
funktioniert nur in der Cluster-Partition
handelsblichen Webbrowser bedienen weiter, die die Mehrheit der insgesamt
lsst. Fragt der Admin oder ein an Etcd vorhandenen Etcd-Instanzen hinter sich
wei. Lediglich in Sachen Geo-Clustering
angebundenes Programm Werte in Etcd
herrscht Potenzial fr Verbesserungen:
ab, kommen diese im Json-Format zuMit Multi-Rechenzentrums-Installationen
rck. Die Datenstruktur in Etcd ist hierkommt Etcd gerade deshalb nicht klar,
archisch: Ein Key darf verschiedene Unterschlssel haben, denen dann jeweils weil bei zwei Sites nicht entscheidbar
ist, welche Seite das Beschlussrecht hat,
ein Wert zugewiesen ist. So knnen in
einem verteilten Setup gleich mehrere
nachdem beide ihre Verbindung zueinanDienste Etcd nutzen, ohne dass sich die der verloren haben.
verschiedenen Konfigurationseintrge ins
Gehege kommen.

erwartet (Abbildung 2). Denn Etcd kennt


Templates: Um etwa eine nginx.conf
aus Etcd heraus zu generieren, platziert
der Admin ein entsprechendes Template
auf dem Zielhost und legt danach in
Etcd die passenden Key-Value-Paare an.
Dann kommt ein zweiter Dienst ins Spiel:
confd. Er generiert aus den Werten in
Etcd automatisch die passende nginx.
conf und legt sie am gewnschten Ort
ab. Ein Neustart von Nginx setzt die Konfiguration anschlieend in Kraft.
Beeindruckend ist, dass der ganze Ablauf
auch Konfigurationsnderungen beachtet. ndert der Admin die Nginx-Konfiguration in Etcd, triggert Confd von sich aus
sowohl das Update der Konfigurationsdatei als auch den Neustart von Nginx.

Volle Cluster-Kompatibilitt

Deutlich umfassender ist der Ansatz,


den Consul von Hashicorp verfolgt. Das
Werkzeug lsst keinen Zweifel daran,
dass es alle Einsatzbereiche bedienen

Etcd ist Cluster-fhig: Laufen in einem


Setup auf den Hosts eigenstndige Instanzen von Etcd, so reden diese im Hintergrund miteinander. Dazu verwenden
sie einen Consensus-Algorithmus auf Basis von Raft. Das Prinzip ist simpel: Alle
Etcd-Instanzen whlen aus ihrer Mitte
einen Master aus, der jeweils die Autoritt in allen Cluster-relevanten Fragen ist.
Fllt der gewhlte Master aus, erfolgt automatisch eine Nachwahl und ein neuer

Alte Programme an Bord


holen

Etcd hat auch eine Lsung fr althergebrachte Software, die eine feststehende
Datei in /etc mit ihrer Konfiguration

Alleine nur bedingt ntzlich


Zwar liee sich ein Etcd auch ohne Zusatzkomponenten wie Confd betreiben,
aber genau besehen ist Etcd als globales
Konfigurationswerkzeug im Rahmen von
Core OS gedacht und passt auch am besten in dieses Setup (Abbildung 3). Dabei
existiert eine Armada aus Core-OS-Servern und laufenden Etcd-Instanzen, auf
denen der Admin nach Belieben DockerContainer startet. Die lesen im Gegenzug
ihre ntige Konfiguration aus den EtcdInstanzen auf dem Host.
Der Cluster-Teil von Etcd sorgt dafr,
dass alle Core-OS-Instanzen stets die
ganze Konfiguration kennen. Zwei separate Dienste namens Systemd und Fleetd
bernehmen die Steuerung des Clusters
auf Basis der Daten aus Etcd. Ohne dieses Framework ist es zwar mglich, Etcd
sinnvoll zu nutzen, aber aufwndig.

E Einer fr alle: Consul

Abbildung 4: Alles in Ordnung: Dieser Consul-Cluster besteht aus drei Knoten, die sich hinsichtlich ihres
Zustands einig sind. So soll es sein.

08/2015

Consul folgt einer Server-Agent-Architektur: Es gibt den Cluster von Consul-Knoten und die Rechner, auf denen Anwendungen laufen, also MySQL, Nginx oder
ein beliebiges anderes Tool. Auf ihnen
arbeitet der zu Consul gehrige Agent.
Er meldet die Dienste des Hosts beim
Cluster an, sodass sie in der Servicedatenbank in Consul verzeichnet sind.
Will ein anderer Dienst etwa Rabbit MQ
nutzen, fragt er bei Consul nach dem
entsprechenden Host fr Rabbit MQ
und erhlt die passende Antwort. Damit
auch Legacy-Software mit diesem System zurechtkommt, konfiguriert Consul
zudem eigene DNS-Eintrge: Der Client
verbindet sich beispielsweise stets mit
dem Host _rabbitmq._amqp.service.
consul, unter dem Consul die Adresse
eines Rabbit-MQ-Hosts definiert.
Es ist nicht leicht, Consul auf den Arm
zu nehmen: Behauptet ein Agent, dass
auf seinem lokalen Host etwa ein MySQL
luft, kann der Admin dafr in Consul
eigene Health Checks definieren. Con-

Konfig-Management

Sysadmin

Umfassendes ServiceDiscovery

www.linux-magazin.de

will. Neben Unterschieden zwischen Etcd


und Consul gibt es aber auch in vieler
Hinsicht Gemeinsamkeiten.
Etwa der Umstand, dass auch Consul einen Key-Value-Store fr das Ablegen von
Konfigurationsdaten implementiert. Der
hat genauso wie bei Etcd eine RestfulSchnittstelle und liefert Json-Ausgaben.
Doch gibt das Consul-API deutlich mehr
her als das von Etcd: Integriert ist zum
Beispiel auch eine Katalogfunktion, bei
der Knoten im Netz Dienste wie etwa
MySQL registrieren knnen. Andere Knoten fragen dann das Consul-API ab, um
eine Liste aller Knoten im Cluster-Verbund zu bekommen, die den jeweiligen
Dienst betreiben (Abbildung 4).
Hinzu kommen eigene API-Module fr
Health Checks, fr ACLs oder fr Nutzer
events. Consul spricht von Endpunkten
jeder Endpunkt ist quasi eine eigene
Dienstkategorie. Bei Consul steht also das
bloe Ersetzen der Konfigurationsdateien
in /etc eigentlich gar nicht mehr so
stark im Vordergrund. Eher will Consul
eine umfassende Service-Registry sein,
bei der das Konfigurationsmanagement
als Nebenprodukt anfllt.

Abbildung 5: Wie Etcd kennt auch Consul ein initiales Bootstrapping, bei dem sich die Knoten des Systems in
einem ersten Schritt einig werden.

sul gibt den Host fr MySQL nur dann


an anfragende Clients weiter, wenn der
MySQL-Server auch auf eingehende Monitoring-Anfragen antwortet.
Die Parameter sind hier beliebig: Ist
etwa die Last auf dem Zielhost zu hoch,
kann Consul das ebenfalls merken und
Traffic auf andere Hosts umlenken. Im
Grunde verhlt sich Consul also wie ein
gut konfigurierter Load Balancer, der
auf Wunsch auch die Konfiguration von
Diensten speichern kann.

Cluster-Fhigkeiten: Oho!
Wie Etcd bietet auch Consul einen inhrenten Clustermodus. Anders als der
erste Proband im Test ist Consul aber ab
Werk mit Support fr echte Multi-RZInstallationen ausgestattet obwohl es
ebenfalls Raft benutzt, um den Konsens
im Cluster herzustellen.
Consul kennt drei Konsistenzmodelle:
Das Default-Modell ist ein Kompromiss
aus erzwungener Konsistenz und der
Mglichkeit, dass ein Cluster unter seltenen Umstnden Informationen aus der
Datenbank liest, die nicht mehr aktuell
sind. Demgegenber steht das Modell mit
erzwungener Konsistenz (consistent).
Variante 3 (stale) lsst zu, dass ConsulInstanzen selbst dann Anfragen bearbeiten, wenn sie selbst wissen, dass sie zu
einer Cluster-Partition ohne Mehrheit im
Quorum gehren (Abbildung 5). Der

Admin darf sich im Grunde aussuchen,


was ihm lieber ist: funktionslose ConsulInstanzen (weil sie keine Mehrheit im
Quorum haben) oder Clients, die womglich alten Input zurckbekommen.
So realisiert Consul auch die Multi-RZFhigkeit: Bei solchen Setups hat jedes
Rechenzentrum seinen eigenen ConsulCluster und alle Cluster sind lose miteinander verbunden. Jeder Consul-Instanz
in jedem Rechenzentrum steht jede Information des Clusters grundstzlich
zur Verfgung, aber der Ausfall eines
Rechenzentrums beeintrchtigt nie die
Consul-Cluster der anderen Standorte.
Denn alle Consul-Agents in einem RZ
reden nur mit den Consul-Instanzen dort
Requests fr andere Partitionen des
Clusters werden innerhalb der ConsulServer weitergeleitet.
Wie Etcd schlgt auch Consul eine Brcke in die alte Welt. Das Ende 2014 vorgestellte Consul Template gibt Admins
die Option, auf Template-Basis Konfigurationsdateien fr Dienste zu generieren.
Dabei ist Consul Template ein eigener
Dienst hnlich wie confd bei Etcd.

E Zookeeper
Quasi der Opa unter den Probanden
ist Zookeeper. Das Projekt, das unter
dem Schirm von Apache steht, blickt auf
die lngste Vergangenheit der getesteten
Werkzeuge zurck. Es verwundert nicht,

75

08/2015

Sysadmin
Konfig-Management
www.linux-magazin.de

76

der, dann verweigern


die Cluster-Partitionen
ohne Quorum-Mehrheit den Dienst.
hnlich wie bei Etcd
fehlt auch bei Zookeeper das Framework
fr Service Discovery. Will ein Admin
die Software entsprechend nutzen, muss
er sich selbst darum
kmmern, dass verfgbare Dienste sich
Abbildung 6: Zookeeper beherrscht ebenfalls natives Clustering im Hinterdurch einen Eintrag
grund. Es ist mit Abstand die reifste Komponente im Test.
in Zookeeper an- und
abmelden.
dass diverse Features bei Etcd wie auch
Ausgeschlossen ist es also nicht, Zookeebei Consul offenbar mageschneidert
per etwa als Service Registry zu nutzen.
sind, um vermeintlich fehlende Zookee- Allerdings hat beispielsweise Netflix daper-Funktionalitt zu bieten. Dabei hat mit so schlechte Erfahrungen gemacht,
Zookeeper durchaus einen mchtigen
dass man in Form von Eureka [4] kurKreis von Untersttzern: Das Projekt,
zerhand einen eigenen Discovery-Dienst
das einst zu Hadoop gehrte, kommt bei
schrieb, der ohne Zookeeper auskommt.
groen Unternehmen wie Rackspace oder
Letztlich darf die Software als ein mit
Ebay zum Einsatz.
Etcd vergleichbares Produkt gelten, das
Auch bei Zookeeper (ZK) findet sich die allerdings nicht so stark ins Cloudkorsett
fast schon typische Aufteilung in meh- gepresst ist.
rere Komponenten. Zuallererst ist auch
In Sachen Features unterliegt Zookeeper
aber Consul klar und deutlich. Neben
Zookeeper mit einem Dienst fr das Vorhalten von Konfigurationsdaten ausgeder schon genannten Registry-Funktion
stattet. Zwar bietet es auch eine Restful- fehlt bei Zookeeper etwa auch ein MeSchnittstelle, doch ist diese zurzeit als
chanismus, um aus den abgelegten Konexperimentell gekennzeichnet. Lieber se- figurationsparametern fertige Dateien zu
hen es die Entwickler, wenn Nutzer auf
erzeugen, die msste der Admin selbst
Zookeeper mit den getesteten Java- oder fabrizieren. Wegen des genutzten PaxosAlgorithmus sind zudem Multi-RZ-Setups
C-Clients zugreifen.
schwieriger. Zwar kommt Zookeeper ab
Werk mit so genannten Observern, die so
hnlich funktionieren wie die Inter-RZDamit Zookeeper die Dienste innerhalb
Kommunikation bei Consul. Die Zahl an
einer Cloud und auf den Hosts verwalSetups in der echten Welt, die Observer
ten kann, braucht es freilich einen intatschlich produktiv nutzen, drfte alhrenten Cluster-Modus (Abbildung 6).
lerdings uerst gering sein.
Der gehrt zum Lieferumfang: Anders
als Etcd oder Consul setzt Zookeeper auf
Paxos statt auf Raft als Algorithmus. Aus
Admin-Sicht ist das aber ein eher techni- Tatschlich machen Programme wie
Etcd und Consul das Lebens von Admins
sches Detail.
leichter, wenn sie im angestammten TerAusschlaggebend ist: Zookeeper garantiert Programmen einen konsistenten
rain des Werkzeugs zum Einsatz komCluster-Status und implementiert ein
men. Sind etwa alle Komponenten eines
Quorum. Verbindet sich also ein Client
Setups mit Support fr das jeweilige Tool
mit einer Zookeeper-Instanz, kann er siausgestattet, kann der Admin Sorgen wecher sein, stets die vom Cluster als gltig
gen der Synchronisierung von Dateien in
anerkannten, neuesten Daten zu bekom/etc ad acta legen. Allerdings, und das
men. Fllt der Cluster temporr auseinanist der Pferdefu, handelt es sich dann

Der Cluster-Konsens

Fazit

mit hoher Wahrscheinlichkeit tatschlich


um eine hippe Cloudanwendung, die auf
den Einsatz im Rahmen von Core OS
oder einer der vielen anderen Mikrodistributionen ausgelegt ist. Nur wenn alle
Programme der Installation direkt mit
dem jeweiligen Konfigurationsmanager
reden knnen, reizt der Manager sein
Potenzial voll aus.
Deutlich weniger attraktiv wirken die
Werkzeuge, wenn es ausschlielich um
konventionelle Programme geht. Die
haben keine direkte Anbindung an irgendeins der vorgestellten Programme.
Hier fngt der Admin also an, sich aus
der Template-Funktion des jeweiligen
Werkzeugs soweit vorhanden eine
Konfigurationsdatei in /etc selbst zu
basteln. Allein dafr sind die Probanden
des Tests aber zu komplex ein solches
Setup bringt gegenber klassischer Automatisierung mit Puppet & Co. kaum
Vorteile. Auch von der inhrenten Cluster-Fhigkeit der einzelnen Tools profitieren altmodische Programme praktisch
berhaupt nicht.
Als Fazit darf gelten: Wer sich mit Docker oder einer der Mikrodistributionen
fr den Cloudeinsatz beschftigt, wird
mit Etcd, mit Consul oder mit Zookeeper
vermutlich seine Freude haben. Wer nur
eine zentrale Pflege altertmlicher Konfigurationsdateien bentigt, greift besser
wie bisher zu Puppet, Chef oder einer
der vielen am Markt vorhandenen Alternativen.
Das muss aber nicht immer so bleiben.
Wegen ihrer REST-APIs ist es fr die Autoren anderer Programme sehr leicht,
ihre Software so anzupassen, dass sie
direkt mit den Testkandidaten redet. Gelnge es beispielsweise in Zukunft, den
allseits beliebten IMAP-Server Dovecot
zur Zusammenarbeit mit einem der vorgestellten Werkzeuge zu berreden, dann
wre das eine ausgesprochen attraktive
Kombination. Es gilt wie so oft: Die Zun
kunft bleibt spannend. (jcb)

Infos
[1] Etcd: [https://coreos.com/etcd]
[2] Consul: [https://consul.io]
[3] Zookeeper:
[https://zookeeper.apache.org]
[4] Eureka:
[https://github.com/Netflix/eureka]

08/2015

Forum

Gesetzentwurf der Regierung zur Vorratsdatenspeicherung

Das Veto des Bundesverfassungsgerichts im Jahr 2010 bedeutete nur das vorlufige Ende der deutschen
Regelung zur Vorratsdatenspeicherung. Die Regierung legt nun einen neuen Gesetzesentwurf vor, gegen den
sich vielstimmiger Widerstand formiert. Ulrich Bantle
pflichtend zu speichernden Verkehrsdaten nur unter sehr engen Voraussetzungen mglich sein, nmlich zur Verfolgung
der in 100g Absatz 2 StPO-E bezeichneten besonders schweren Straftaten,
die auch im Einzelfall schwer wiegen
mssen.
Von der Vorratsdatenspeicherung ausgenommen sind laut Entwurf Mitarbeiter
von Behrden und kirchlicher oder sozialer Organisation, die anonym beraten und
der Schweigepflicht unterliegen. Bei allen anderen Berufsgeheimnistrgern, die
ein Zeugnisverweigerungsrecht besitzen,
drfen die Daten nicht abgerufen werden. Seelsorger, Rechtsanwlte, rzte,
Apotheker, Abgeordnete und Journalisten
fallen darunter.

Heorhi Salavei, 123RF

78

www.linux-magazin.de

Recht

Sie ist wieder da

Federfhrend hinter dem deutschen Gesetzesentwurf der Regierung [1] steht Justizminister Heiko Maas (SPD), der sich
mit Innenminister Thomas de Maizire
(CDU) auf die Leitlinien dafr geeinigt
hatte. Das Bundeskabinett hat die Neuregelung der Vorratsdatenspeicherung Ende
Mai in einer Sitzung beschlossen.
Eine erste Lesung fand Anfang Juni im
Bundestag statt. Wohl auch wegen der
Proteste der IT-Verbnde wie Eco [2]
und Bitkom [3] soll die nchste Lesung
des Gesetzes erst im September stattfinden, das lie SPD-Fraktionschef Thomas
Oppermann nach einer Fraktionssitzung
Anfang Juni verlauten. Der ursprngliche
Plan der Regierung sah eine Beschlussfassung noch vor der Sommerpause vor.

Verdachtsunabhngig
In der Fassung des Gesetzentwurfs bedeutet Vorratsdatenspeicherung, dass
Internetprovider, Telekommunikations-

unternehmen und Zugangsanbieter dazu


verpflichtet sind, so genannte Verkehrsdaten zu speichern. Dazu zhlen die Angaben zu den beteiligten Rufnummern,
die Zeit oder auch die dafr genutzte
IP-Adresse. Bei Gesprchen ber das Mobiltelefon soll zudem der Standort des
Anrufers erfasst werden. Das gilt fr Anrufe, den SMS-Versand oder eine Verbindung zum Internet.
Nicht erfasst sind E-Mail-Verkehrsdaten
und die Inhalte der jeweiligen Kommunikation. Standortdaten sollen maximal vier
Wochen, andere Verkehrsdaten maximal
zehn Wochen im Speicher landen. Als
Speicherort sind speziell gesicherte Server
vorgesehen. Passend dazu fhrt der Gesetzentwurf den neuen Strafbestand der
Datenhehlerei ein. Der soll Anwendung
finden, wenn illegal beschaffte, nicht ffentliche Daten an Dritte gehen.
Der Entwurf sieht sich grundrechtskonform: Den grundrechtlichen Vorgaben
entsprechend soll eine Erhebung der ver-

Vielstimmige Kritik
Kritik an dem Gesetz generell beziehungsweise an einzelnen Punkten kommt von
vielen Seiten: bei den Branchenverbnden angefangen ber den Arbeitskreis
Vorratsdatenspeicherung, die Bundesdatenschutzbeauftragte, den Nationalen
Normenkontrollrat (NKR) bis hin zum
Wissenschaftlichen Dienst des Bundestags und der betroffenen Unternehmen
der Internetwirtschaft.
Der Nationale Normenkontrollrat (NKR)
wird in seiner Stellungnahme [4] zur
Gesetzesvorlage deutlich: In der vorliegenden Fassung entspricht der Entwurf
nicht den Anforderungen der Gemeinsamen Geschftsordnung der Bundesministerien (GGO) einer Gesetzesvorlage an
die Bundesregierung: Die Darstellung des
Erfllungsaufwandes fehlt fr die Wirtschaft vllig und fr die Verwaltung in
wesentlichen Teilen. Dieser Mangel ist
umso gravierender, als der NKR durch ei-

08/2015

Der IT-Verband Eco bemngelt auch die


technische Umsetzung und kritisiert in
einer Stellungnahme [5] zudem scharf
die daraus erwachsenden Kosten: Asymmetrische Verschlsselung bedeutet, dass
der Provider verpflichtet ist, jeden Datensatz einzeln zu verschlsseln. Dies
heit aber fr die Praxis, dass auch die
Personen, die eine Behrdenanfrage bearbeiten sollen, nur auf verschlsselte
Daten zugreifen knnen. Deshalb msste
ein exakter Suchindex geschaffen werden, um die Datenstze fr eine Abfrage
auffindbar zu machen. Jeder Index stellt
aber selbst wieder eine Metadatensammlung dar. Vollkommen unklar ist, wie ein
spezieller Suchindex fr Massenabfragen,
wie etwa die Funkzellenabfrage, technisch realisiert werden soll.
Die Kosten fr die beteiligten Firmen
schtzt der Eco (Abbildung 1) hoch ein:
Eco geht nach ersten Hochrechnungen
von einer Verdopplung der Summe von
2007 aus, mithin von Ausgaben in Hhe
von circa 600 Millionen Euro. Eco fordert, den Anbietern eine Frist von mindestens 18 Monaten nach der konkreten
Festlegung aller Anforderungen durch die
Bundesnetzagentur zur Umsetzung zu gewhren, die erst dann beginnt, wenn ber
die Verfassungsmigkeit hchstrichterlich entschieden ist.
Der Branchenverband Bitkom schtzt die
anfallenden Kosten auf einen mittleren
dreistelligen Millionenbetrag und stellt
ber Hauptgeschftsfhrer Bernhard Rohleder klar: Die bei der ersten Einfhrung

Schnellschuss
Die Datenschutzbeauftragte der Bundesrepublik Deutschland, Andrea Vohoff,
hat in einer Stellungnahme [9] erklrt:
Die Art und Weise, in der das Gesetzgebungsverfahren vorliegend vom BMJV
(Bundesministerium fr Justiz und Verbaucherschutz) betrieben wurde, ist inakzeptabel. Vorgaben der Gemeinsamen
Geschftsordnung der Bundesministerien (GGO), nach der alle Anzuhrenden
rechtzeitig zu beteiligen sind, wurden
mehrfach ignoriert. So wurde mir zur
Abgabe einer ersten Stellungnahme eine
Frist von faktisch weniger als 30 Stunden
gewhrt. Vohoff weiter: Der Gesetzentwurf sei nach wie vor nicht in der Lage,
die erheblichen Zweifel an der generellen
Verfassungsmigkeit einer Vorratsdatenspeicherung von Telekommunikationsverkehrsdaten zu beseitigen.

Ausblick
ber die Vorratsdatenspeicherung soll bei
einem kleinen Parteitag der SPD Ende
Juni unter den Delegierten abgestimmt
werden. Die SPD-Parteifhrung hat zu
diesem Parteikonvent einen eigenen Antrag eingebracht, der eine zeitliche Be-

Infos
[1] Gesetzesentwurf: [http://dip21.bundestag.
de/dip21/btd/18/050/1805088.pdf]
[2] Brandbrief Eco: [https://www.
eco.de/2015/pressemeldungen/
vorratsdatenspeicherung
itverbaendewollengehoertwerden.html]
[3] Warnung des Bitkom: [http://www.bitkom.
org/de/presse/8477_82314.aspx]
[4] Stellungnahme Normenkontrollrat:
[http://www.normenkontrollrat.bund.de/
Webs/NKR/Content/DE/Artikel/20150603_
stellungnahme_verkehrsdatenspeicherung.
h tml?nn=826450]
[5] Stellungnahme Eco:
[https://www.eco.de/wpcontent/blogs.dir/
2 0150608vdsstellungnahmeeco.pdf]
[6] Stellungnahme AK Vorrat:
[http://www.vorratsdatenspeicherung.de/
c ontent/view/758/1/lang,de/]
[7] Urteil Bundesverfassungsgericht:
[http://www.bverfg.de/entscheidungen/
r s20100302_1bvr025608.html]
[8] Urteil EU-Gerichtshof:
[http://curia.europa.eu/jcms/upload/docs/
a pplication/pdf/201404/cp140054de.pdf]
[9] Bundesdatenschutzbeauftrage:
[http://www.bfdi.bund.de/DE/Datenschutz/
Themen/Telefon_Internet/TelefonArtikel/
VoarratsdatenspeicherungReloaded.html?
nn=5217040]

www.linux-magazin.de

Recht

Forum

Kostenfragen

der Vorratsdatenspeicherung gettigten Anschaffungen von mehr als


100 Millionen Euro
sind durch neue
Vorgaben etwa bei
der
Sicherheit
heute nicht mehr
nutzbar.
Der Arbeitskreis
Vorratsdatenspeicherung reagiert
fast schon ungluAbbildung 1: Die Kostenaufstellung des Eco rechnet notwendige Investitionen
big auf den Vorvon rund 600 Millionen Euro vor.
sto: Nach den
vernichtenden Urteilen des Bundesverfasgrenzung des Gesetzes ins Spiel bringt,
sungsgerichts [7] und des Europischen
um eine Abstimmungsniederlage und
Gerichtshofs [8] gegen entsprechende daraus resultierende Blamage zu verhinRegelungen zur Vorratsdatenspeicherung dern. Teile der SPD, darunter die Nachsollte man eigentlich erwarten drfen, wuchsorganisation Jusos, sind gegen die
dass die Regierung zur Besinnung kommt
Vorratsdatenspeicherung. Zumindest gibt
und dieses berwachungswerkzeug auf
es noch einen Aufschub bis nach der
n
der Mllhalde der Geschichte belsst, Sommerpause des Bundestages.
erklrt Kai-Uwe Steffens vom AK Vorrat.

Eco

gene Erhebungen Anhaltspunkte fr Kosten der Telekommunikationswirtschaft


von bis zu rund 600 Millionen Euro
gefunden hat; ferner deshalb, weil das
Regelungsvorhaben Entschdigung fr
den Fall vorsieht, dass Investitionen und
gegebenenfalls gesteigerte Betriebskosten
,fr einzelne Unternehmen erdrosselnde
Wirkung haben knnten.
Zu den kritischen Stimmen zhlt auch
der Wissenschaftliche Dienst des Bundestags, das berichtet die Sddeutsche Zeitung mit den Verweis auf zwei Gutachten des Dienstes, die auf mehrere Mngel
des Vorhabens hinweisen und deshalb an
der Erfllung der verfassungs- und europarechtlichen Vorgaben zweifeln.

79

08/2015

Forum
80

www.linux-magazin.de

Bcher

Bcher ber fortgeschrittene Projekte mit dem Raspi sowie Webprogrammierung

Tux liest
Ein Buch ber Raspberry-Pi-Projekte mit High-End-Zubehr in einfallsloser Aufmachung. Ein zweites Buch vermittelt Grundlagen moderner Webprogrammierung mit einem Javascript-Framework. Jens-Christoph Brendel

Was bei dem Raspberry-Pi-Buch gleich


beim ersten Durchblttern ins Auge
sticht, ist die misslungene Gestaltung.
Wer sich schon in vermeintlich cooler
Manier mit Raspberry Pi Unchained
einen englischen Titel ausgesucht hat,
der muss auch eine gesprengte Kette auf
dem Titel abbilden. Offenbar hat sich der
Buchknstler gefragt, warum er eine so
berraschende Idee nur an einer einzigen Stelle nutzen sollte? Also hat er so
gut wie jede Seite mit den ewig gleichen
Motiven einer rostigen Kette verunziert.
Langweiliger geht es nicht.
Vielleicht macht der Text ja alles wieder
wett? Leider nicht immer. Zum Beispiel
das Kapitel 5.2, das zu erlutern verspricht, wie Autofahrer den Raspi mit
Kameramodul als Dashcam einsetzen.
Tatschlich wird der Anschluss des Kameramoduls besprochen, aber fr den
Einsatz im Auto keine akzeptable Bedienung vorgestellt. Stattdessen soll der
Fahrer das Filmen ber die Kommandozeile starten.
Auch finden sich hier so merkwrdige
Hinweise wie der, ein altes Kameramodul,
etwa aus einer Playstation, zu recyceln,
sei in Zeiten hoher Strompreise auch
konomisch empfehlenswert. Raspi und
Kamera verbrauchen zusammen etwa 4
Watt. Da man im Dunkeln nicht filmen
kann und auch nicht 24 Stunden Auto
fhrt, sei eine Nutzungsdauer von 8 Stunden an 20 Tagen im Monat zugrunde
Info
E. F. Engelhardt:
Raspberry Pi Unchained
Franzis Verlag, 2015
224 Seiten
35 Euro
ISBN: 978-3-64560367-6

gelegt. Das ist schon das Pensum eines


Taxifahrers. Der Strom kommt im Auto
dann allerdings aus der Lichtmaschine
und hat nicht den Preis, den das E-Werk
berechnet. ber den Daumen gepeilt entfallen dennoch nur Cent-Bruchteile am
Tag auf die Wahl des Kameramoduls.

Auf die Ketten


Auch andere Beispiele halten nicht alles,
was sie versprechen. In Kapitel 2 soll
etwa mit der Bibliothek Py Game die
grafische Oberflche fr ein Autotelefon
programmiert werden. Selbst wenn man
beiseite lsst, dass ein Telefon-GUI mehr
bieten msste als ein Tastenfeld, bleibt,
dass das Beispiel nur mit Mausklicks
funktioniert. Und wer mchte sein Autotelefon mit der Maus bedienen?
Raspberry Pi Unchained bietet viele Anregungen fr interessante Projekte mit dem
Raspi. Dass es dabei teilweise anspruchsvolles Hightech-Zubehr einbezieht, ist
durchaus verdienstvoll. Die Buchautoren
bieten auch viele Prinzip
lsungen fr
naheliegende Probleme. Lobenswert ist
darber hinaus, dass sich etliche Ideen
zu neuen Projekten kombinieren lassen.
Allerdings ist es von den kurzen Beispielen zu einer halbwegs professionellen
Anwendung oft ein weiter Weg, auf dem
das Buch den Leser nur bei den ersten
Schritten begleitet.

Moderne
Webprogrammierung
In die Webprogrammierung mit dem
Javascript-Framework Angular JS fhrt
das zweite Buch ein, noch genauer gesagt
behandelt es Single-Page-Applikationen,
die also nicht laufend komplett neue Seiten nachladen, sondern eine bestehende

aktualisieren. Einleitend wiederholen


die Autoren die funktionalen, prozeduralen und objektorientierten Aspekte von
Javascript. Darauf folgt ein Einfhrungsbeispiel, das auch das Model-View-Controller-Konzept erlutert.
Die folgenden Kapitel wenden sich jeweils
abgegrenzten Gebieten der Programmie
rung mit Angular JS zu, etwa Formularen
und deren Validierung, Authentifizierung
und Autorisierung, HTTP-Services, UIDesign, der Internationalisierung oder
dem Testing. Eine kurze Zusammenfassung am Ende jedes Kapitels resmiert
das Wichtigste.
Die Erluterungen sind leicht verstndlich und beziehen die Vorstellung zugrunde liegender Konzepte mit ein. So
bekommen etwa die Erklrungen zum
Promises-API eine Einfhrung in die Problematik asynchroner Operationen und
von Callbacks vorangestellt. Ein eigenes
Kapitel widmet sich ntzlichen Tools fr
die Angular-JS-Programmierung.
Zahlreiche instruktive Beispiele tragen
berdies zum Verstndnis bei. Sie demonstrieren hufig wiederkehrende Aufgaben, sodass die gezeigten Lsungen
auch praktisch nachvollziehbar sind. Die
Autoren bieten auf einer eigenen Webseite sogar Services an, die in Beispielen
verwendet werden. Insgesamt gibt das
Buch eine gelungene Hilfestellung fr
den Einstieg in Angular JS.
n
Info
Manfred Steyer, Vildan
Softic:
Angular JS
OReilly, 2015
470 Seiten
35 Euro
ISBN: 978-3-95561950-3

08/2015

Forum
82

www.linux-magazin.de

Leserbriefe

Auf den Punkt gebracht

Leserbriefe
Haben Sie Anregungen, Statements oder Kommentare? Dann schreiben Sie an [redaktion@linux-magazin.de].
Die Redaktion behlt es sich vor, die Zuschriften und Leserbriefe zu krzen. Sie verffentlicht alle Beitrge mit
Namen, sofern der Autor nicht ausdrcklich Anonymitt wnscht.

Firefox-OS-Version war zu alt


05/15, S. 40: Auf den Vergleich offener,
mobiler Betriebssysteme in Heft 05/
15
hatte ich mich schon sehr gefreut. Leider
ist wohl Jens-Christoph Brendels Artikel
Reinekes karges Reich ber Firefox OS
nur ein Aprilscherz. Seit mehr als einem Jahr ist Version 1.3 auf dem Markt,
seit einem halben Jahr Version 1.4 verffentlicht und mit etwas technischem
Geschick kann man sich auch schon 2.1
installieren. Der Autor berichtet aber
ber Firefox OS 1.0.1. Zwangslufig sind
daher viele seiner Kritikpunkte schon
lange nicht mehr gltig.
Marco Khnel, per E-Mail
Ihrer Kritik an der veralteten Version
mchte ich gerne entgegenhalten, dass
wir genau die Version getestet haben, die
jeder Kunde von O2 (Telefonica) erhielt,
der zum selben Zeitpunkt wie wir dort so
ein Gert bestellt hat.
Nicht jeder, der ein Smartphone besitzt,
mchte auf eigene Faust ein neues Betriebssystem darauf installieren. Ich vermute sogar, dass eine Mehrheit davor zurckschrecken wrde, wenn sie sich vor
Augen fhrt, dass das Gert nach einem
mglichen Fehlschlag schlimmstenfalls
unbenutzbar ist und auch kein Herstellersupport weiterhelfen wird.
Daraus folgt, dass eine Mehrheit genau
mit der Situation konfrontiert wre, die
wir getestet haben. Wir haben uns also
nicht angesehen, was ein passionierter
Bastler bestenfalls erreichen knnte, sondern womit ein Durchschnittskunde zu
leben hat. Ich halte den Ansatz fr gerechtfertigt.
Mglicherweise htten wir woanders eine
aktuellere Version bekommen knnen.

Was das ausgemacht htte, sei dahingestellt. Ich glaube zum Beispiel nicht, dass
sich das Verhltnis von ein paar Dutzend
Apps, die fr Firefox verfgbar waren,
zu mehreren Millionen Apps, die es fr
Android gibt, mit Firefox 1.3 grundlegend
gendert hat. (Jens-Christoph Brendel)

Wie kann man Autor


werden?
Ich wrde gerne fr Euch eine Artikelserie ber eine neue Programmiersprache
verfassen. Ich bin Programmierer von
Beruf und kenne mich mit der Materie
gut aus. Httet Ihr daran Interesse? Was
muss ich denn tun, um bei Euch Autor
werden zu knnen?
Marko L., per E-Mail
Prinzipiell freuen wir uns ber jedes Angebot eines Artikels. Die wichtigste Voraussetzung, die ein potenzieller Autor
erfllen muss, ist Kompetenz: Er muss
sich mit dem, was er anderen nherbringen will, sehr gut auskennen und in der
Regel auch praktische Erfahrung haben.
Wenn er seinen Lesern die Arbeit erleichtern, sie vor Problemen bewahren kann,
wenn er ihnen ntiges Wissen vermittelt,
dann ist er gut gerstet fr das Schreiben.
An Formulierungen knnen wir spter
gemeinsam feilen, inhaltlich sollte der Autor aber so sattelfest sein, dass wir uns
darauf verlassen knnen.
Gnstig ist es dann, den Artikelvorschlag
an die Adresse der Redaktion zu richten
und wenn mglich einen kurzen Abriss
des Inhalts oder eine kleine Gliederung
mitzusenden. Alle Redakteure treffen sich
einmal im Monat zu einer Konferenz und
beraten bei dieser Gelegenheit auch ber
Artikelvorschlge. Dabei geht es darum,

ob wir ein hnliches Thema erst krzlich


im Heft hatten oder schon fest planen, ob
der Artikel in unser Heftkonzept passt,
ob er bei unseren Lesern voraussichtlich
gut ankommt, ob uns die Form beispielsweise eine Artikelserie angemessen erscheint oder in welcher Rubrik der
Beitrag erscheinen knnte. Nach der Beratung teilen wir unsere Entscheidung dem
Autor mit.
Wenn wir den Beitrag annehmen, registriert sich der Autor bei uns online unter
[https:/www.linuxmagazin.de/HeftAbo/
Kontakt/Autorwerden/Autorendaten] und
ldt sich dann unter [https://www.
linuxmagazin.de/static/public/Autoren-
vertrag.pdf] das Formular eines Autorenvertrags herunter, das wir unterschrieben
zurckerwarten (eingescannt oder per
gelber Post).
Der Autor hat dann normalerweise mindestens vier Wochen Zeit zum Schreiben.
Fr Fragen stehen wir whrenddessen jederzeit zur Verfgung. Zum vereinbarten
Termin erwarten wir das Manuskript per
E-Mail. Eine pnktliche Abgabe ist fr
uns sehr wichtig, weil eine lange Kette
von Produktionsschritten darauf aufbaut.
Ist der Termin nicht zu halten, mssen
wir das so frh wie mglich erfahren, um
Ersatz organisieren zu knnen.
Nach der Abgabe des Manuskripts wird
ein Redakteur den Beitrag redigieren, also
vor allem sprachlich berarbeiten und
den Standards anpassen, soweit das ntig
ist. Der Autor kann meistens ein PDF der
redigierten und layouteten Fassung zum
Gegenlesen erhalten.
Schlielich senden wir das endgltige PDF
an die Druckerei, und rund zwei Wochen
spter erscheint dann das Heft, von dem
wir dem Autor ein Belegexemplar zusenn
den. (Jens-Christoph Brendel)

08/2015

Boxenstopp
Mit Version 1.0 legte Mozillas System-Programmiersprache Rust Mitte Mai nach lngerer Entwicklungszeit eine
erste Verschnaufpause ein. Ob sie sich im weiteren Rennverlauf gegen C und C++ behaupten kann, hngt
auer von Mozillas Engagement auch davon ab, ob die Sprache mit ihren Features punktet. Andreas Mller

36clicks, 123RF

84

www.linux-magazin.de

Rust

Programmieren

Mozillas Programmiersprache Rust

Die statisch getypte Programmiersprache


Rust [1] legt viel Wert auf Schnelligkeit
und Sicherheit. Rust speichert, wie ihr
groes Vorbild C, Variablen fester Gre
in einem Stack. Zeigerwerte legt es hingegen im Heap des Hauptspeichers ab.
Der Code in Listing 1 demonstriert den
kontrollierten Umgang mit alloziertem
Speicher unter Rust.
Listing 1: Genderte Besitzver
hltnisse (moved_type.rs)
01 
fn print_length(vec:Vec<i32>)

02  println!("Der Lnge des Vektors betrgt {}",


vec.len());
03 }
04 
05 
fn main() {
06  let mut vec:Vec<i32> = vec![1,2,3];
07  print_length(vec);
08  vec.push(4);
09 
}

Speichert der Entwickler Listing 1 in der


Datei moved_type.rs und kompiliert die
Software anschlieend ber rustc moved.rs in der Shell, bricht der Compiler
den Vorgang mit der Fehlermeldung moved_type.rs:8:3: 8:6 error: use of moved
value: `vec` fr die Zeile 8 ab.
In Listing 1 verweist der im Hauptteil des
Programms erzeugte Zeiger vec (Zeile
6) auf den Speicherbereich im Heap, der
die Reprsentation des Vektors mit den
Komponenten 1, 2 und 3 speichert.
Zeile 7 bergibt den Zeiger an die Funktion print_length() und macht diese so
zum exklusiven Besitzer. In der Konsequenz darf das Programm den Zeiger ab
Zeile 7 nicht mehr verwenden, was zu
der Fehlermeldung fhrt.
Will der Entwickler den Zeiger dennoch
weiterverwenden, kann er ihn temporr an print_length() verleihen (Borrowing). Dazu bergibt er in Zeile 7 von

Listing 1 eine Referenz (&vec) und modifiziert analog die Funktionsdeklaration


von print_length() in Zeile 1 nach vec:
&Vec<i32>. Soll print_length() zudem in der Lage sein, den Zeigerwert zu
ndern, greift er alternativ zum Fragment
vec: &mut Vec<i32>.
Rust erlaubt es dem Entwickler aber nur,
eine vernderbare Referenz zu bergeben. Will er den Ressourcenverleih in
jedem Aspekt der Programmierung richtig machen, bietet Rust neben dem Borrowing die Angabe von Lifetimes.
Beim Freigeben von alloziertem Speicher
verfolgt Rust einen eigenen Ansatz: Das
Rust-Kompilat erledigt die Speicherfreigabe selbstttig und verzichtet dabei auf
einen Garbage Collector wie unter Java.
Auch die Funktion free() [2], wie sie C
und C++ untersttzen, muss die Sprache
nicht heranziehen, um den Speicherplatz
programmgesttzt freizugeben.

Ausdrucksstark
Wertet Rust einen Ausdruck aus, ist dessen Rckgabewert das Ergebnis. Doch
auch alle Anweisungen besitzen einen
Rckgabewert: ein leeres Tupel. Das Semikolon trennt, wie in vielen anderen
Sprachen, Ausdrcke und Funktionen,
um sie zu gruppieren.
Die Funktion aus Listing 2 ermittelt das
Maximum zweier ganzer Zahlen, die sie
in der Parameterliste nach dem Funktionsnamen in Zeile 1 bernimmt. Als DaHeft-DVD
DELUG-DVD
Neben Rust 1.0 befinden
sich die IDEs Rust-DT und Solidoak auf der
DELUG-DVD sowie die zum Artikel gehrenden Listings.

Rust bedient sich ausgiebig im Repertoire


anderer Sprachen. So verwendet sie, wie
die funktionalen Programmiersprachen
Haskell [3] und Standard ML [4], Muster und dies in zahlreichen Kontexten.
Mit Hilfe des Musters (x,y,z) auf der
linken Seite der Zuweisung let (x,y,z)
= (1,2,3); deklariert die Anweisung die
drei Variablen x, y und z auf einen Schlag. Diese auch als Destructuring
Assignment bekannte Anweisung weist
x den Wert 1, y die 2 und z
die 3 zu.
Der Match-Ausdruck aus Listing 3 verwendet in den Zeilen 2 und 3 jeweils
ein Muster zur Fallunterscheidung links
neben dem =>-Operator. Ergibt der
Ausdruck x in Zeile 1 den Wert 0,
speichert die Variable w die Summe aus
y und z. In jedem anderen Fall speichert w das Produkt aus den Werten
der beiden Variablen.

Klassenlos
Rust 1.0 lsst das Konzept der Klassen
wieder fallen. Anstelle von Klassendefinitionen arbeitet Version 1.0 mit benutzerdefinierten, zusammengesetzten Datentypen, die sie bei Bedarf um Methoden
ergnzt. Das Schlsselwort struct leitet
zu Beginn von Listing 4 die Definition
des benutzerdefinierten Datentyps Container ein. Eine Instanz von Container
speichert dabei in Zeile 2 intern einen
Vektor aus 64 Bit breiten Fliekommazahlen im Feld content.

Traits

fr die Datentypen Sphere und Cube


auf. Hierbei lsst sich jeder Wert bernehmen, dessen zugehrigen Datentyp
der Trait Dimension implementiert. Um
dies zu vereinbaren, nennt der Programmierer in Zeile 25 nach der abstrakten
Typvariablen T und dem Doppelpunkt
den Namen des Trait.
Ruft das Programm dann print_volume() auf, kommt die Methode volume() mit dem jeweils pas