Ngw34t234tix magazin september 2015

Page 1

20 Ja hre IPv 6

CMake-Tutorial:

Erweiterungen per Skriptsprache

MAGAZIN FÜR PROFESSIONELLE INFORMATIONSTECHNIK

9

SEPTEMBER 2015

Marktübersicht und Haftung:

Cyber-Versicherungen Was Internetdienste schützt Barrierefreiheit:

PDF/UA automatisch und händisch testen JavaScript:

Reactive Programming bringt Dynamik Internetdienste:

DDoS-Angriffe abwehren JBoss-Nachfolger:

WildFlyˇ9 unterstützt HTTP/2 Mobil oder stationär:

Workstations für Konstrukteure Cloud-Verwaltung:

VMwares vRealize Automation iX extra: Webhosting

Anwendungen mieten Browser Edge, Sicherheitsfunktionen, Datenschutz:

Windows 10

€ 6,90 Österreich € 7,40 • Schweiz CHF 10,70 Benelux € 8,10 • Italien € 8,10

www.ix.de



EDITORIAL | SEPTEMBER 2015

Nutzerdaten in Redmond

E

ndlich ist das Startmenü zurück und auch sonst hat Microsoft wieder auf seine Kunden gehört. Nach einer langen Preview-Phase mit Anwenderbeteiligung konnte sich der Konzern kaum über ihren Willen hinwegsetzen. Doch was ist das? Windows 10 sammelt unkontrolliert Daten. Im Zeitalter der schnellen Empörung beschweren sich Foren wie IT-Magazine in seltenem Einklang über die Arroganz der Redmonder. Doch bei näherem Hinsehen zeigt sich, dass die Entwickler dem Betriebssystem nicht aus purer Datensammelwut die Lauscher verpasst haben. Die Vorstellung, dass sich Manager ob der datentechnischen Entblößung der Kunden zuprosten, mag dem Bild eines Großkonzerns als Bösewicht per se entsprechen. Aber der Blick über den Großen Teich offenbart anderes. Denn in den USA entwickeln sich Chromebooks zu einer ernst zu nehmenden Konkurrenz – ein Drittel aller Laptops im ersten Halbjahr 2015 kann Google auf dem B2B-Ladentisch für sich verbuchen. Ganz freiwillig vertrauen die Kunden ihre Daten Googles Cloud an. Und sind nicht einmal durch alte Verträge und Legacy-Software getrieben. Vielmehr erfüllen Chromebooks einen häufigen Wunsch von Unternehmen. Die befreien sie vom Ballast der IT-Administration. Anwendungen kaufen sie aus der Cloud und die Rechner kooperieren sicher dank der von Google geschlossenen und kontrollierten Umgebung mit ihren vorgesehenen Funktionen. Viele vormals interne Aufgaben wandeln sich so zum zugekauften Dienst und die Firma konzentriert sich nicht mehr auf den Aufbau eines umfangreichen Rechenzentrums samt eigener Infrastruktur, sondern auf ihr eigentliches Geschäft. Windowsˇ8 tastete sich schon in diese Richtung vor, mit einem Konto in Redmond ließ sich einiges vereinfachen. Ausgabe 10 geht konsequent diesen Weg weiter und baut das Betriebssystem zu einer Plattform für alle Belange der alltäglichen IT aus. Wer sich darauf einlässt, dem nimmt der Konzern viele Sorgen ab. Privatnutzer mögen ihre zwei Rechner noch im Griff haben, doch in Unternehmen ist Arbeitsersparnis durch CloudOrganisation ein wichtiger Kostenfaktor. Niemand muss diese Entwicklung mögen. Doch genauso zwingt keiner den Kunden, Windows 10 einzusetzen. Apple mag hiesigen altgedienten Wintel-Anhängern suspekt sein, bietet aber einen klassischeren Desktop als Microsoft momentan. Und freie Betriebssysteme wie Linux erlauben jeden Grad an gewünschter Privatsphäre. Wer aber ein synchronisiertes Windows ohne fragmentierte Umgebung will, kann nicht Microsoft die dazu nötigen Daten vorenthalten.

MORITZ FÖRSTER iX 9/2015

S

eine Daten speichert man nicht bedenkenlos in einer Cloud. Das Risiko des Kontrollverlusts mag angesichts des Nutzens und der Kostenersparnis mitunter vertretbar erscheinen. Dennoch zahlt der Kunde einen hohen Preis für sein Vertrauen in den Anbieter. Denn die Cloud ist längst ein verbreitetes Geschäftsmodell mit riesigem Marktpotenzial geworden, bei dem Unternehmen jeder Größe, Expertise und Vertrauenswürdigkeit Geld verdienen wollen. Sicherheit sowie Datenschutz werden leider erst durch gesetzliche Vorgaben Teil des Geschäftsinteresses. Folgerichtig schwindet die Kontrolle über die eigenen Daten zusehends. Die Idee der Cloud-Anbindung findet sich mittlerweile in nahezu jeder größeren Software, die etwas auf sich hält, längst auch in Betriebssystemen (und, ja: auch in Linux – Ubuntu hat das vorgeführt). Man bekommt die Cloud, ob man will oder nicht. Dabei mischt jetzt auch Windows 10 mit. Das Abstellen der unzähligen Dienste, die Daten sammeln, gerät zum Gedulds- und Glücksspiel. Microsoft setzt unübersehbar auf das Einheimsen der Nutzerdaten, gelten sie doch als das wertvollste Gut des digitalen Zeitalters. Google etwa erklärt das Datensammeln offen zu seiner Geldquelle, und wer sich daran stört, lässt die Finger von den Angeboten des Konzerns. Das gelingt bei Microsoft nicht so leicht. Kaum ein Unternehmen kann sich rasch von Windows trennen, selbst wenn es ernsthaft wollte. Mit der neuen Version 10 holt man sich nicht nur eine Software-Plattform ins Haus, sondern eine Cloud-Instanz mit Datensammelfunktionen und fragwürdigem Zusatznutzen. Niemand sollte ungewollt und ungefragt seine Daten in einer Cloud wiederfinden. Den Vertrauensvorschuss der Kunden müssen Anbieter ernst nehmen und sollten ihn nicht ihrem – selbstverständlich legitimen – Geschäftsmodell opfern. Dabei versteht sich Transparenz von selbst. Wer Bedingungen nicht vollständig offenlegt, abgeschaltete Dienste weiterlaufen lässt oder Daten übermittelt, wo keine fließen dürften, sollte sich auf unwirsche Reaktionen der Kunden einstellen. Zusätzlich müssen zeitgemäße technische Standards umgesetzt werden, denn wer beim Verschlüsseln nicht alle Schlupflöcher schließt, lässt womöglich nachlässigerweise Abhörkanäle offen. Zum Glück gibt es bei Betriebssystemen längst eine Auswahl. Wer Windows 10 nicht verteilen will, sperrt es in eine Hypervisor-Umgebung ein und stellt die unumgängliche Branchenlösung virtuell bereit, bis auch die in einer plattformunabhängigen Version erscheint. Und wer keine öffentliche Cloud mag, baut sich seine eigene.

TILMAN WITTENHORST 3


INHALT | SEPTEMBER 2015

MARKT + TRENDS

Internetsicherheit: DDoS-Angriffe abwehren

SIGGRAPH 2015 Soft- und Hardware für mehr Realismus

Alles, was online ist, kann Opfer von gezielten Attacken mehrerer Rechner zwecks Überlastung werden. Doch gegen diese DistributedDenial-of-Service-Angriffe kann man sich wehren.

7

Sicherheit Honeynet-Projekt analysiert Gefahren für Industrie 4.0

10

Zwillingskonferenzen Black Hat und DEF CON 2015

12

Softwareentwicklung TypeScript 1.5 integriert viel ECMAScript 2015

22

Seite 87

GDC Europe Monetarisierung und Plattformfrage noch immer Thema

24

Systeme Supercomputer an Uni Regensburg

29

Bürokommunikation Document Foundation gibt LibreOffice 5.0 frei

34

Reactive Programming mit JavaScript

Hardware Linux-Mainframes von IBM

34

Wirtschaft Nokia kostet Microsoft Milliarden

36

TITEL Cyberversicherungen Durch Internetkriminalität verursachte Schäden begrenzen

R VE CO E M A H T

40

Recht Verantwortlichkeit und Haftungsfragen bei Cybervorfällen

Mit dem Konzept „Reactive Programming“ lassen sich strukturierte Client-Server-Anwendungen entwickeln, bei denen zahlreiche JavaScript-Programme flexibel interagieren und trotzdem alles übersichtlich bleibt.

48

Seite 126

52

Grafische Arbeitsplätze: Konzepte und Angebote

REVIEW Webbrowser Microsofts IE-Nachfolger Edge

Application Server JBoss WildFly 9 als Java-EE-7-Server

R VE CO E M A H T

R VE CO E M A H T

56

Metadatenmanagement Embarcadero ER/Studio, ASG-Rochade und CA ERwin im Vergleich

59

Verteiltes Speichern Speicher-Cluster-Software DRBD 9

Cloud Verwalten von Clouds mit VMwares vRealize Automation

64 R VE CO E M A TH

69

Es muss nicht immer eine voluminöse Workstation her, wenn man am Arbeitsplatz viel Grafikleistung braucht. Denn mittlerweile stehen auch Notebooks mit entsprechender Hardware zur Wahl, und sogar ein gehostetes VDI-System kann schnell genug sein. Konzeptdiskussion und Marktschau ab

Seite 76

REPORT Workstation Grafische Arbeitsplätze: Konzepte und Angebote

R VE CO E M A H T

76

Publishing Barrierefreies PDF erstellen und testen

Internetsicherheit Internetdienste vor DDoS-Angriffen schützen

4

83

R VE CO E M A H T

87 iX 9/2015


Schadensbegrenzung durch Cyberversicherungen

Systemsicherheit

Wenn durch Hackerangriffe Kundendaten abhandenkommen oder gar der IT-Betrieb vorübergehend stillgelegt werden muss, geht die Schadenshöhe schnell in die Millionen. Cyberversicherungen versprechen, das abzufedern – doch wer kann überhaupt was versichern? Marktübersicht und Haftungseinschätzung auf

Sicherheit in Windows 10

Seite 40 und 48

R VE CO E M A

Windows 10 verzichtet auf Zertifikats-Pinning

TH

Betriebssystemsicherheit

R VE CO E M A H T

Internet Erste RFCs zu IPv6 erschienen vor 20 Jahren

92

95

R VE CO E M A TH

100

Betriebssysteme Ende des Supports für Windows Server 2003

102

WISSEN Webprotokolle Was HTTP/2 für den Webverkehr bedeutet

117

Netze Software-defined Networking mit Junipers OpenContrail

120

PRAXIS Webprogrammierung

R VE CO E M A

Reactive Programming mit JavaScript

TH

126

Datenbanken MariaDBs MaxScale als Proxy und Bin-Log-Server

Build-System

132 ER

V CO M A

E CMake-Tutorial, Teil 2: TH Erweiterungen mit der Skriptsprache

138

Tools & Tipps Firewall selbst gebaut

145

MEDIEN

Wie sicher ist Windows 10?

App-Infos Geocaching draußen und drinnen

Microsoft verspricht seinen Firmenkunden „Enterprise-Grade Security“. Doch nicht immer sind die neuen Funktionen durchdacht und praxisgerecht, und beim Zertifikatsverkehr verzichten die Redmonder ohne Not auf bewährte Prüfverfahren.

Vor 10 Jahren Digitale Signatur ohne Nutzen

iX 9/2015

147

Buchmarkt Content Management/E-Books

148

Rezensionen CMake, JavaScript Tools, Social-Media-Recht

150

RUBRIKEN Editorial Leserbriefe iX extra Webhosting

Seite 92 und 95

146

3 6

R VE CO E M A nach Seite 104 H T

Stellenmarkt

152

Inserentenverzeichnis

153

Impressum

153

Vorschau

154

5


LESERBRIEFE | SEPTEMBER 2015

Vorteile von Promises verdeutlichen (JavaScript: Klassentreffen; iX 8/2015; S. 123)

Guter Artikel, vielen Dank dafür! Der else-Zweig in Listingˇ7 müsste aber „reject(…);“ lauten, oder? Auch hätte ich Listingˇ8 leserlicher und damit besser geeignet gefunden, um die Vorteile von Promises zu verdeutlichen, wenn die Funktionen in Arrow-Schreibweise übergeben worden wären. Über noch mehr Artikel, die wie dieser Softwareentwicklungsthemen kompakt, aber fundiert behandeln, würde ich mich sehr freuen. SILAS GRAFFY, VIA E-MAIL

In der Tat wäre in Listing 7 reject() korrekt. d. Red

Die Probleme liegen meistens woanders

mit mit einer Bewegung in Verbindung gebracht wird, hinter deren Zielen er nicht steht. Stallman gründete das GNU-Projekt und die Free Software Foundation in den 80er-Jahren, die Open-Source-Initiative wurde dagegen erst 1998 von Bruce Perens und Eric S. Raymond gegründet. Auch wenn es große Überschneidungen in deren Zielen gibt – schließlich geht es bei beiden Bewegungen offensichtlich um für den Anwender frei verfügbaren Quellcode –, so betont Stallman vor allem die sozialen, politischen und ethischen Motive hinter Free Software. Konkret „zwingt“ einen die GNU General Public License dazu, abgeleitete Werke ebenfalls unter die GPL zu stellen, während beispielsweise die BSD-Lizenz auch eine Weiterentwicklung als Closed Source nicht ausschließt. Der im Artikel ebenfalls erwähnte Clang steht übrigens unter einer BSD-ähnlichen Lizenz und konkurriert mit dem gcc also auch auf nicht technischer Ebene um Anwender. PHILEMON LANG, VIA E-MAIL

(Editorial: Falsche Versprechungen; iX 8/2015; S. 3)

Erfahrungsgemäß sind Paketverluste bei VoIP nur sehr selten ein Problem. Backbone-Netze sind eigentlich nie überlastet (es sei denn, man ist bei wirklich schlechten Anbietern) und die Fritz!Box kann die Sprachpakete hervorragend priorisieren. Die Probleme liegen in aller Regel in der Signalisierung. SIP ist ein hoch komplexes Protokoll, und kaum 2 Geräte sprechen das Gleiche. Dazu kommt noch, dass bestimmte große Hersteller total kaputte SIP-Stacks/Hardware haben, welche schon mal nach einem Re-Invite nur noch Stille und leises Rauschen sendet. Ein weiteres häufiges Problem sind kaputt konfigurierte Router mit NAT-ALG. Übrigens sind ISDN-Datenübertragungen per VoIP kein Problem. Dafür gibt es Clearmode, und bis auf ein fragwürdiges Detail (Fallback auf Sprache) funktioniert das hervorragend. CHRISTIAN BERGER, HOF

Kein Urvater des Open Source (Compiler: Cevolution; iX 8/2015; S. 64)

Vielen Dank für den interessanten Artikel zur GCC 5.1. Eine Kleinigkeit möchte ich aber gern richtigstellen: Richard Stallman hört es nicht gern, wenn er wie im Kasten auf Seite 65 als „Urvater des Open Source“ bezeichnet und so-

Ergänzungen und Berichtigungen (Linux-Interna; Frisch aufgebrüht; iX 8/2015, S. 108)

Im iX-TRACT heißt es fälschlicherweise, dass Inodes per AES-128-ECB verschlüsselt sind. Korrekt ist, dass für die Dateinamen AES-256-CTS zum Einsatz kommt. AES-128-ECB dient zum Berechnen der Inode-spezifischen Schlüssel für die Dateiinhalte.

Der direkte Draht zu

Direktwahl zur Redaktion: 0511 5352-387 Bitte entnehmen Sie Durchwahlnummern und E-Mail-Adressen dem Impressum. Redaktion iX | Postfach 61ˇ04ˇ07 30604 Hannover | Fax: 0511 5352-361 E-Mail: <user>@ix.de | Web: www.ix.de www.facebook.com/ix.magazin twitter.com/ixmagazin (News) twitter.com/ix (Sonstiges) Sämtliche in iX seit 1990 veröffentlichten Listings sind über den iX-FTP-Server erhältlich: ftp.heise.de/pub/ix/ Bei Artikeln mit diesem Hinweis können Sie diese URL im Webbrowser aufrufen, um eine klickbare Liste aller URLs zu bekommen. www.ix.de/ixJJMMSSS

iX 9/2015


MARKT + TRENDS | COMPUTERGRAFIK

SIGGRAPH 2015: Soft- und Hardware für mehr Realismus

Im Virtuellen leben Daniel Drochtert Noch sind die Grenzen zwischen Realität und virtueller Darstellung fast immer deutlich erkennbar. Doch neue Hard- und Softwareentwicklungen sollen sie weiter verwischen.

M

ehr als 14ˇ000 Besucher aus über 70 Ländern kamen Mitte August nach Los Angeles zur 42. Ausgabe der SIGGRAPH. „Xroads of Discovery“ lautete dieses Jahr das Motto der größten Konferenz für Computergrafik und interaktive Techniken, um der interdisziplinären Kollaboration zwischen Kunst, Wissenschaft und Technik Ausdruck zu verleihen. In diesem Sinne fanden auch Themen um die immer stärkeren Überschneidungen in der Erstellung von Filmen, Spielen und Virtual Reality ihren festen Platz in den Konferenzhallen. Kern der SIGGRAPH sind seit jeher die wissenschaftlichen Beiträge, der Ausstellungsbereich für Firmen sowie die Production Sessions großer Film- und neuerdings auch Spielestudios. Spiele, als Antreiber vieler relevanter Techniken in der Echtzeitgrafik und Interaktion, ziehen einen immer größeren Teil der Aufmerksamkeit auf sich. Präsentationen von Firmen wie EA DICE oder Avalanche Studios, die Einblick in technische Feinheiten des Echtzeit-Rendering gaben, erfreuten sich großer Beliebtheit. Darüber hinaus hat der Veranstalter ACM SIGGRAPH mit The MIX (Media Indie Exchange) auch den Entwicklern von Indie-Spielen eine Plattform geboten, ihre Werke zu präsentieren. Erstmals ausgerichtet wurde das VR Village, in dem Forscher und Entwickler Projekte in Virtual- und AugmentediX 9/2015

Reality-Umgebungen präsentierten. Projekte der Nomadic Virtual Reality (VR), der Tabletop Augmented Reality (AR), ein Full-Dome Cinema sowie Vorführungen in einem Immersion Dome von 360 Grad konnten die Konferenzbesucher hier hautnah erleben.

Ankleiden als Intelligenzleistung Eine Reihe der vorgestellten wissenschaftlichen Beiträge beschäftigt sich mit der realistischen Animation menschlicher Bewegungsabläufe sowie den immer wirklichkeitsgetreueren Darstellungen von Gesichtern und Emotionen. Ein bisher nur schwer zu lösendes Problem ist die Animation sich ankleidender virtueller Figuren. Den Vorgang des Bekleidens setzen

die Entwickler bisher oft durch eine Kombination aus Keyframe-Animationen und physikalischer Berechnung der Cloth-Simulation, manueller Animation oder stark vereinfacht durch Schnitte um. Mit „Animating Human Dressing“ haben Forscher des Georgia Institute of Technology einen Ansatz vorgestellt, durch den die virtuelle Figur lernt, sich selbst anzuziehen (für Quellen im Web siehe „Alle Links“ im blauen Balken). Langfristiges Ziel ist es, Robotern diese Intelligenz zu verleihen, damit sie älteren Menschen beim Ankleiden behilflich sein können. Auch einige Beiträge aus Deutschland fanden wieder ihren Weg auf die SIGGRAPH. Das Projekt „Dyna: A Model of Dynamic Human Shape in Motion“ vom Max-Planck-Institut für intelligente Systeme in Tübingen ist eine Weiterentwicklung vorheriger Ergebnisse mit dem Ziel, die Verformungen von menschlicher Haut und Gewebe bei Bewegungen realistisch abzubilden. Die Forscher erstellten mit zehn Personen durch Motion Capturing einen Katalog mit 40ˇ000 Aufnahmen, um diese Informationen per Mapping auf ein Basismodell zu übertragen. Anhand dieses Modells kann man die Daten in der Folge auf beliebige andere Figuren übernehmen. Das Paper „Skin Microstructure Deformation with Displacement Map Convolution“ von Forschern der University of Southern California und des Imperial College London verfolgt einen ähnlichen Ansatz mit dem Ziel, feinste Veränderungen der Mikrostrukturen

Forscher des Georgia Institute of Technology wollen virtuelle Figuren lehren, sich selbstständig anzukleiden.

der Haut im Gesicht abzubilden. Durch ein von den Wissenschaftlern speziell entwickeltes Motion-Capturing-Verfahren ist es gelungen, Verformungen der Haut in extrem detaillierter Auflösung (10 μm) aufzunehmen. Werden diese Daten auf die Haut einer virtuellen Figur übernommen, ist kaum noch ein Unterschied zwischen real und virtuell auszumachen.

Hohe Auflösung mit neuer Hardware Auch neue Hardware wurde vorgestellt. Unter anderem präsentierte NVIDIA zwei neue Grafikkarten aus der QuadroSerie, die sich an professionelle Anwender richtet. Die Modelle M4000 und M5000 mit Maxwell-Architektur hat der Hersteller mit 8ˇGByte Speicher und 256-Bit-Bus ausgestattet. Damit sind sie für das Rendering bis zu einer 8K-Auflösung geeignet. Qualcomm stellte eine neue Generation des SnapdragonChips mit Adreno-5xx-Architektur vor. Für mobile Geräte übernimmt der 820er-Chip Aufgaben der GPU (Graphics Processing Unit) und der IPS (Image Processing Unit). Mit der neuen Entwicklung verspricht Qualcomm 40 Prozent mehr Leistung bei 40 Prozent geringerem Energieverbrauch im Vergleich zum Vorgängermodell. Die ersten mobilen Geräte mit Snapdragon 820 werden im ersten Halbjahr 2016 erwartet. Nicht nur Wissenschaftlern und Technikern bietet die SIGGRAPH ein Forum, sondern auch Künstlern und Animatoren, die ihre neuesten Werke vorstellen. Große Studios wie Dreamworks, Disney oder Industrial Light and Magic boten Workshops und Tutorials an, in denen sie erläuterten, wie Spezialeffekte in den Blockbustern des letzten Jahres gestaltet und technisch umgesetzt wurden. Vom 24. bis 28. Juli 2016 wird die 43. SIGGRAPH in Anaheim stattfinden. Zwischenzeitlich lädt der Veranstalter vom 2. bis 5. November 2015 zur SIGGRAPH Asia in das Kobe Convention Center in Japan ein. (ka) Alle Links: www.ix.de/ix1509007

7


MARKT + TRENDS | GRAFIK/MULTIMEDIA

NVIDIA bündelt Tools für Grafikanwendungsentwickler NVIDIA hat im Rahmen der SIGGRAPH 2015 mit DesignWorks eine Suite verschiedener Tools zum Erstellen von Anwendungen aus dem Grafikbereich vorgestellt, die interaktive, fotorealistische Darstellungsmöglichkeiten umfassen sollen. Sie soll Entwickler, die beispielsweise auf das Programmieren von CAD- und AECApplikationen (Computer-aided Design beziehungsweise Archi-

tecture, Engineering and Construction) spezialisiert sind, mit Möglichkeiten ausstatten, vergleichsweise einfach physikbasiertes Shading und Materialien mit realistischen Eigenschaften umzusetzen. Zu den Werkzeugen, die über DesignWorks zugänglich sein sollen, zählen Tools und Bibliotheken aus den Bereichen Rendering, Display, Virtual Reality, Physik, Live Video

von OpenGL- und Direct3DApplikationen. Laut NVIDIA sollen Entwickler mit den Werkzeugen der DesignWorks-Suite so realistische Bilder realer Objekte erzeugen können, dass der Betrachter keinen Unterschied zwischen einem Foto und der Computergrafik erkennen kann. Als Beispiel präsentierte die Firma auf der SIGGRAPH nebeneinander die Visualisierung sowie ein Foto der auf der Abbildung zu sehenden Bohrmaschine. Auf die meisten der Tools sowie auf einige Codebeispiele sollen Entwickler über NVIDIAS Developer-Portal zugreifen können. Mehr Informationen zu DesignWorks sind auf der zugehörigen Website zu finden. Das Unternehmen bietet schon seit einiger Zeit ähnliche Angebote für Entwickler, die sich mit Parallel- beziehungsweise Embedded- und Spieleprogrammierung beschäftigen. (jul)

und Hardwarezugriff. So steht in der Suite eine Sammlung aus APIs, Bibliotheken und anderen Hilfsmitteln bereit, die beim Erstellen von Virtual-RealityAnwendungen die Arbeit erleichtern. Was das Rendering angeht, gibt es Tools wie das Iray SDK zum Simulieren des Verhaltens von Licht und Materialien, das MDL SDK mit einer Beschreibungssprache für beides, IndeX zur skalierbaren Echtzeitvisualisierung von Volumendaten und Path Rendering zur GPU-Beschleunigung für 2D-Grafiken. Weitere Werkzeuge sind das GRID SDK für Remote-Display- und StreamingSzenarien, das Video Codec SDK, ein Linux Graphics Debugger für OpenGLAnwendungen und die PerfKit Suite zur Performance-Analyse

Khronos stellt erste Open-Source-Tools für Vulkan in Aussicht bisher vieles den Treibern zu überlassen. Spezifikationen und Implementierungen stellt die Khronos Group für die zweite Jahreshälfte in Aussicht. Unterstützung für das Projekt gibt es bereits von Android, SteamOS, Tizen und diversen Linux-Distributionen. Alte Anforderungen an den Grafikprozessor, denen OpenGL noch entsprechen musste, sollen bei Vulkan entfallen, sodass sich eine vereinfachte API spezifizieren lässt.

Die Nutzung von Mehrkernprozessoren soll zudem das Ausführen paralleler Anweisungen erleichtern. Für Flexibilität beim Shading nutzt Vulkan die von der Khronos Group spezifizierte Zwischensprache SPIR-V (Standard Portable Intermediate Representation). Khronos plant eine Suite von Open-Source-Werkzeugen, die Anwendungen auf Konformität zu Vulkan testen. In dem Zusammenhang strebt man eine

Alle Links: www.ix.de/ix1509008

Quelle: Khronos Group

Das unabhängige Herstellerkonsortium The Khronos Group hat während der SIGGRAPH in Los Angeles über Entwicklungen in Bezug auf die neue Grafikschnittstelle Vulkan sowie die EmbeddedSpezifizierung des plattformunabhängigen Grafikstandards OpenGL berichtet. Anders als OpenGL, das speziell für Grafik-Workstations spezifiziert wurde, soll Vulkan eine API für alle modernen Plattformen, inklusive der mobilen, definieren und den direkten Zugriff auf die GPU (Graphics Processing Unit) erlauben, anstatt wie

8

Zusammenarbeit mit dem Android Open Source Project (AOSP) an. Die Firmen Valve und LunarG arbeiten bereits an einem ersten Open-SourceSDK für Vulkan. Neben Vulkan sollen neue OpenGL Extensions aktuelle Desktop-Hardware unterstützen. Die OpenGL ES Shading Language 3.20 soll zudem diverse neue Funktionen, darunter das Android Extension Pack (AOP), in die EmbeddedVersion des Grafikstandards integrieren. OpenGL ES 3.2 berücksichtigt unter anderem Geometrie- und TessellationShader sowie ASTC-Kompression (Adaptive Scalable Texture Compression). OpenGL ES sowie Vulkan sollen außerdem Thema der von Khronos neu ins Leben gerufenen Safety Critical Working Group sein. Deren Ziel ist es, offene Grafikstandards für Anwendungen zu spezifizieren, die gewissen Sicherheitsanforderungen genügen müssen. Bisher hat Khronos mit OpenGL SC 1.0 bereits eine solche Spezifikation für einen Subset von OpenGL ES 1.0 definiert. (ka) iX 9/2015



MARKT + TRENDS | SICHERHEIT / DATENSCHUTZ

Honeynet-Projekt analysiert Gefahren für Industrie 4.0 len Unternehmen aus unterschiedlichen Branchen dabei helfen, ihre Sicherheitsmaßnahmen an die realen Bedrohungen anzupassen. Die Sicherheitsvorkehrungen des simulierten Wasserwerks entsprachen dem industrieüblichen Niveau. Entwickelt und umgesetzt hatten die TÜVSÜD-Forscher den praxisnahen Aufbau des Systems zusammen mit Vertretern der Versor-

Quelle: TÜV SÜD

Acht Monate lang beobachteten Experten des TÜV SÜD, welche Angriffe von wo aus auf eine von ihnen aufgesetzte virtuelle Infrastruktur erfolgten, die die IT-Umgebung eines kleineren Wasserwerks simulierte (Abbildung). Die in diesem Zeitraum rund 60ˇ000 registrierten Zugriffe stammen von Servern aus 150 Ländern. Die Erkenntnisse aus dem High-Interaction-Honeynet sol-

Alle Links: www.ix.de/ix1509010

Office 365: Anwender zu sorglos Für die Studie „Office Cloud Adoption and Risk Report“ hat Skyhigh Networks die Office-365-Nutzung von weltweit 21 Millionen Unternehmensanwendern analysiert. Ihr zufolge stehen die Büroanwendungen aus der Wolke kurz vor dem Durchbruch. Schon heute nutzen in 87,3 Prozent aller Unternehmen weltweit mindestens 100 Mitarbeiter die Cloud-Anwendungen von Microsoft, etwa Word, Excel, PowerPoint, Exchange Online, OneDrive oder SharePoint Online. Zwar arbeiten 93,7 Prozent der Nutzer noch mit Microsofts OnPremise-Versionen, doch die weitere Verbreitung dürften laut Skyhigh Networks zwei Faktoren befördern: Zum einen die Beliebtheit von Office 365 als Collaboration-Dienst, wenn es um die Zusammenarbeit von Unternehmen mit ihren Geschäftspartnern geht. Zum anderen erfordert die kommerzielle Nutzung der neuen „Universal Office Apps for Windows 10“ eine Lizenz für Office 365. Durchschnittlich 1,37 Terabyte Daten lädt ein (großes) 10

Unternehmen laut der Studie pro Monat zu Office 365 hoch – das entspricht ungefähr einer Milliarde Word-Dokumente. 17,4 Prozent davon enthalten vertrauliche Informationen in Form von personenbezogenen Daten wie Sozialversicherungsnummer, Telefonnummern oder Postadressen (4,2 Prozent), Gesundheitsdaten (2,2 Prozent) sowie Finanzinformationen (1,8 Prozent), etwa Kreditkarten- und Kontonummern. Mit 9,2 Prozent bestreiten die vertraulichen Unternehmensdaten den Löwenanteil. Dazu zählen etwa Abschlüsse, Business-Pläne und sogar Source Code. Des Weiteren haben Unternehmen im Schnitt 143 Dateien im Office 365 gespeichert, in deren Dateinamen das Wort „Password“ vorkommt. Skyhigh Networks empfiehlt Unternehmen die Einführung von Sicherheitsmaßnahmen wie Verschlüsselung oder auch Zugriffskontrollen. Weitere Informationen zum „Office Cloud Adoption and Risk Report“ finden sich auf der Webseite des Unternehmens. (ur)

gungswirtschaft. Der erste Zugriff erfolgte nahezu zeitgleich mit der Inbetriebnahme des Systems. Die hohe Anzahl der Zugriffe belege, dass selbst eine relativ unbedeutende Infrastruktur im Netz wahrgenommen und ausgeforscht wird, berichtet der TÜV SÜD. Die Hitliste der Zugriffe nach IPAdresse führten China, die USA und Südkorea an. Das muss allerdings nicht zwingend mit dem realen Standort der Angreifer übereinstimmen, denn die Zugriffe erfolgten teilweise über verdeckte oder verschleierte IP-Adressen. Zudem erfolgten die Angriffe nicht nur über Standardprotokolle der Büro-IT, sondern auch über Industrieprotokolle wie Modbus/TCP oder S7Comm. Letztere waren zwar deutlich seltener, kamen aber ebenfalls aus der ganzen Welt. Daraus schlussfolgert der Senior-Security-Experte Thomas Störtkuhl vom TÜV SÜD, dass Lücken in der Sicherheits-

architektur von Steuerungsanlagen entdeckt werden und dass die Systeme für einen möglichen Angriff anfällig sind. Das könne entweder ein genereller Angriff auf bestimmte Strukturen und Geräte oder ein gezielter Angriff auf ein ausgewähltes System sein. Nicht nur für die Betreiber von Infrastrukturen seien die Ergebnisse des Honeynet-Projekts ein Warnsignal, sondern auch für produzierende Unternehmen: Denn kleine oder unbekannte Firmen würden ebenfalls entdeckt oder gesehen, weil ständig Ausspähaktionen im Internet laufen. Sie könnten so zu Opfern einer Angriffswelle werden, selbst wenn sie nicht gezielt ausgesucht wurden. Für Unternehmen jeder Größe bedeute das, dass sie ihre Sicherheitsvorkehrungen überprüfen und an die Risiken und Gefährdungslagen anpassen sollten. Zu berücksichtigen sind nach den Erfahrungen des Honeynet-Projekts zwingend Industrieprotokolle. (ur)

Datenschutz beim Unternehmenskauf Beim Verkauf eines Unternehmens ist der Käufer meist auch oder sogar in erster Linie an den Kundendaten interessiert. Dass hierbei besondere Vorsicht angezeigt ist, belegt ein Bußgeldverfahren des Bayerischen Landesamts für Datenschutzaufsicht (BayLDA) gegen den Käufer sowie den Verkäufer eines Unternehmens. Aus datenschutzrechtlicher Sicht ist entscheidend, ob ein Unternehmen nur Teile seines Vermögens, etwa eine Nutzerdatenbank, im Rahmen eines sogenannten Asset Deal verkauft oder ob das Unternehmen als Ganzes durch einen Share Deal den Besitzer wechselt. „Bei Asset Deals werden personenbezogene Kundendaten bisweilen unter Verstoß gegen das Datenschutzrecht veräußert. Um die Sensibilität der Unternehmen zu erhöhen, werden wir auch in weiteren geeigneten Fällen dieser Art Verstöße mit Geldbußen ahnden“, ließ Thomas Kranig, Präsident des BayLDA, verlauten. Bei den Kundendaten muss man zwischen sogenannten Listendaten, wie Name und

Postanschrift der Kunden, und sonstigen personenbezogenen Daten unterscheiden. Listendaten dürfen in der Regel ohne großen Aufwand für werbliche Zwecke verkauft werden. Diese Ausnahme greift aber weder für Telefonnummer, E-MailAdressen oder Bank- und Kreditkartendaten noch für Informationen über das bisherige Kaufverhalten. Eine Übertragung ist dann nur zulässig, wenn die Betroffenen im Einzelfall ihr ausdrücklich zustimmen – also eine Einwilligung abgeben. Bei der Nutzung einer E-Mail-Adresse für Werbezwecke etwa kommt das Problem hinzu, dass der Verwender hierfür eine Genehmigung des Empfängers benötigt. Hier hat sich das Double-Opt-in-Verfahren etabliert. Beim Verkauf einer Nutzerdatenbank hat aber allenfalls der Verkäufer eine solche Einwilligung, nicht jedoch der Käufer. Die Einwilligung kann auch nicht mitverkauft werden. Das Landesamt plant in Kürze dazu eine Informationsveranstaltung für Unternehmen. Tobias Haar (ur) iX 9/2015



MARKT + TRENDS | SICHERHEITSKONFERENZEN

Black Hat / DEF CON: IoT und Car Hacking

ting-Entscheidungen. In der Praxis ist diese Waffe wenig wirksam, da nur 10ˇ% des IPv4Internetadressraumes signiert sind. Verschiedene freie Werkzeuge und Projekte müssen hier in die Bresche springen. Remes stellte etwa das BGP Ranking Project des luxemburgischen CERT „CIRCL“ vor. Es korreliert BGP-Daten (autonome Systeme und Präfixe) mit Informationen aus Malware-Intelligence-Systemen, IP-Blacklists et cetera und errechnet daraus einen Reputationswert. So fallen Botnetzrechner oder SSHBlacklist-Hosts negativ auf. In der aus diesen Daten erstellten Weltkarte haben interessanterweise Russland, die USA, Polen und Brasilien eine schlechte Reputation, während China nicht schlecht abschneidet.

Kontrollverlust Lukas Grunwald Ob Industrie 4.0, Internet der Dinge oder computergesteuerte Autos – wann immer Geräte an ein öffentliches Netz angeschlossen sind, sind sie auch angreifbar. Die diesjährige Black Hat sowie die DEF CON boten Beispiele in Hülle und Fülle.

12

serviceprovidern betrieben, so hängen heutzutage Unternehmen und immer weitere neue Netze unter dem Schlagwort „Internet der Dinge“ (IoT) unzählige Geräte ins Internet, die miteinander kommunizieren. Remes gab einen Überblick über die Angriffe auf autonome Systeme, etwa per „Hijacking“: Wenn ein Angreifer die Kontrolle über eine BGP-Implementierung – einen Router – erlangt, kann er die Verbindungen durch manipulierte Präfixe beliebig umleiten. Die autonomen Empfängersysteme (BGP-Peers) haben keine Möglichkeit, die Manipulation zu erkennen. Auf diese Art war es der pakistanischen Telekom vor einigen Jahren gelungen, wegen eines unliebsamen Videos die Online-Plattform YouTube nicht nur im eigenen Land lahmzulegen, sondern gleich weltweit. Eine Lösung des Problems existiert in Form einer RPKI (Resource Public Key Infrastructure), also dem Signieren eines bestimmten Adressraumes und damit verbundener Rou-

Nadel im Heuhaufen

Quelle: Black Hat

W

ährend vor zwei Jahren auf der Black Hat noch NSA-Chef Keith Alexander in seiner Keynote die Geheimdienstmaßnahmen zu rechtfertigen versuchte, eröffnete dieses Mal mit Jennifer Granick eine Vertreterin des gegnerischen Lagers die berühmt-berüchtigte Sicherheitskonferenz. In ihrer Rede skizzierte sie ihre Vision eines freien, unzensierten und nicht massiv beeinflussten Internets. Anders die Realität: Für die Zukunft sehe sie schwarz, da die nächste Milliarde Internetnutzer aus Ländern mit kontroversem Menschenrechtsverständnis komme. Des Weiteren kritisierte sie, dass sich Schlüsselfunktionen wie Internetsuchdienste, CloudInfrastrukturen oder auch der Zugang zum Internet in der Hand weniger Konzerne befinden. Das vereinfache es staatlichen Stellen, Einfluss zu nehmen und das Internet in ein passives Medium wie das langweilige US-Fernsehen zu verwandeln. Und wie schon der Black-Hat-Gründer Jeff Moss forderte sie eine Produkthaftung für Softwarehersteller, da es früher oder später zu Personenschäden durch smarte Geräte oder gehackte Autos kommen werde. Mit der Angreifbarkeit des Border Gateway Protocol (BGP) beschäftigte sich der Talk „The State of BGP Security“ von Wim Remes. Dieses für das Internet in seiner heutigen Form fundamentale Protokoll erlaubt autonomen Systemen den Datenaustausch untereinander. Wurden solche autonomen Systeme früher nur von einigen wenigen Internet-

Morgan Marquis-Boire vom Forschungslabor der University of Toronto und Malware-Expertin Marion Marschalek von Cyphort beschäftigten sich mit Spyware von Staaten und der Schwierigkeit, diese einer bestimmten Organisation zuzuschreiben. Die Aufgabe gleicht der berühmten Suche nach der Nadel im Heuhaufen, denn weltweit finden die AntivirusLabore täglich zwischen 70ˇ000 und 300ˇ000 unbekannte Malware-Samples. Zur Analyse sind außerdem TelemetrieDaten sowie die infizierten Maschinen oder deren Abbilder wichtig, und nicht zu vergessen der Industrieklatsch der „Frenemies“, also der Feinde, die sich als Freunde ausgeben. Die beiden Forscher bemängelten die fehlende Kooperation der AVHersteller untereinander und betonten noch einmal, dass Spione in der Regel lügen. Am zweiten Tag zeigte der auf Industrieanlagen spezialisierte IT-Experte Jason Larsen von IOActive, wie man maximalen Schaden in Fabriken und Anlagen anrichten kann, nachdem man das SCADA-System übernommen hat. Er erklärte, wie man prozessspezifische AnAus der Traum: Rechtsanwältin Jennifer Granick zeichnete eine düstere Zukunft von einem stark kontrollierten und regulierten Internet.

griffe auf Produktionsanlagen durchführen kann. Dazu gilt es zunächst, die Schwachstellen herauszufinden, etwa Rohre, die aus Kunststoff statt aus Stahl sind, oder wie man chemische Reaktionen außerhalb von gesicherten Umgebungen durchführen lassen kann. Dazu macht er sich physikalische Effekte wie Wasserschlag, Druckübergänge, Wärmeübertragung und Stoßkondensation zunutze, also das Erzeugen von negativem Druck und dadurch das Zerstören von Strukturen, die zwar auf hohen Druck ausgelegt sind, aber auf ein Vakuum nicht angemessen reagieren können. Bei der DEF CON demonstrierte er die Auswirkung an einer selbst gebauten Destille: Nach einem Angriff auf die Modbus-Steuerung ließ er ein Fass durch diese Stoßkondensation mit einem lauten Knall implodieren. Der Vortrag „Das IoT greift an“ ließ Erschreckendes ahnen: Das Hacker-Ehepaar Runa A. Sandvik und Michael Auger nahm sich ein Scharfschützengewehr vor, das sich via Linux und WLAN fernsteuern lässt. Nach dem kompletten Auseinandernehmen des Systems zu Analysezwecken und Untersuchen des eingebetteten Filesystems verschafften sie sich Root-Zugriff. Schließlich gelang es ihnen, die Waffe so zu manipulieren, dass sie am Ziel vorbeischießt. Für nur 260 US-$ konnten weniger Begüterte rund 80ˇ% der Black-Hat-Vorträge bei der traditionell im Anschluss stattfindenden DEF CON anhören. Insbesondere das durch zahlreiche Presseberichte im Vorfeld der Konferenzen publik gewordene „Car Hacking“ am Beispiel eines Jeep Cherokee fand hier seine Fortsetzung: Marc Rogers und Kevin Mahaffey zeigten, wie man in das Entertainment-System und das Live-Telemetriesystem eines Tesla Model S einbrechen und sich Remote-Zugriff verschaffen kann. Somit war Rogers in der Lage, einen langsam vorbeifahrenden Wagen mittels Laptops einfach auszuschalten. Der auf die Bühne geholte Chief Information Security Officer von Tesla informierte über die Beseitigung der Lücke und stellte das Security-BugHunting-Programm des Autoherstellers vor. (ur) iX 9/2015



MARKT + TRENDS | DIVERSES

Internetkonzern verpasst sich eine Holding

Google-Wette Achim Born Weithin unerwartet verkündete Larry Page Googles umfassende Reorganisation. Unter dem Dach der Alphabet-Holding sollen die Geschäftsbereiche als eigenständige Firmen agieren. Das legt die Grundlage zu mehr Transparenz, birgt jedoch Risiken.

Alle Links: www.ix.de/ix1509014

G

oogle ist keine konventionelle Firma. Wir beabsichtigen auch nicht, eine zu werden.“ Larry Page scheute sich nicht, das mit Sergey Brin vor elf Jahren verfasste Google-Gründungspapier zu zitieren (http://abc.xyz). Und auch sonst strotzte das Schreiben an die Aktionäre zum Wandel des Internetkonzerns in eine Holding namens Alphabet vor Pathos und Superlativen. Selbst der Name der künftigen Holding musste für Wortspiele herhalten: Alphabet als Kollektion von Firmen, mit G für Google und vor allen Dingen als das Bestreben, auf eine höhere Wertentwicklung der Aktie im Marktvergleich (im Börsenjargon „alpha“) zu wetten (bet). Recht konventionell wirkt jedenfalls die künftige Struktur von Google, pardon, Alphabet. Die Muttergesellschaft umfasst die Suchmaschine, das Anzeigengeschäft, den Kartendienst Maps, die Apps-Anwendungen, den Videokanal YouTube und das Betriebssystem Android einschließlich der technischen Infrastruktur der Google Inc. Getrennt davon agieren künftig die vielfältigen übrigen Sparten wie Calico (Biotech), Nest (Home Automation) und auch die Finanzierungsbereiche (Google Ventures und Google Capital) sowie die Forschungssparte Google X. Google wird also wieder zu einem Internetkonzern, während die bislang im Verborgenen werkelnden spannenden neue Projekte der Bereiche Gesundheit, Energie und Transport mehr Eigenständigkeit erfahren. Dazu passt auch die Arbeitsaufteilung in der neuen Holding, der die Google-Gründer Larry

14

Page als CEO sowie Sergey Brin als Präsident vorstehen werden. Laut Page soll der Umbau helfen, die zahlreichen Tätigkeiten und Nebenprojekte des Konzerns mit jeweils eigener Leitung besser – also erfolgreicher – zu steuern. Dazu passt, dass mit der Holding-Struktur eine neue Segmentberichterstattung einhergeht, die Kosten- und Gewinnlage transparenter macht. Allerdings hält sich die Transparenz zunächst in engen Grenzen, da das Finanz-Reporting ausschließlich die beiden Positionen „Google Inc.“ und „andere Aktivitäten“ umfasst. Als Vorbild für Alphabet soll Warren Buffets legendäre Holding-Gesellschaft Berkshire Hathaway gedient haben. Eine solche Holding-Struktur ist für einen Technologiekonzern wie die heutige Google nicht zwangsläufig von Vorteil. Denn sie macht sichtbar, wie viele der Google-Werbeeinnahmen in neue Arbeitsgebiete investiert und mitunter verbrannt werden. In einer Börsenlandschaft, die auf schnelle Gewinne aus ist, sind Meldungen über riskante und ungewöhnliche Projekte mit ungewissem Ausgang jedoch recht unbeliebt. Daher hinkt der Vergleich von Alphabet mit Berkshire Hathaway auch ein wenig, da Buffet vornehmlich in etablierte Firmen investiert. In einem lesenswerten Aufsatz für Forbes empfiehlt Julian Birkinshaw von der London Business School den GoogleGründern daher, sich eher an Richard Branson zu orientieren, der die Holding der Virgin-Gruppe als Privatunternehmen führt. (un)

Kurz notiert Energie sparen: Der Deutsche Rechenzentrumspreis 2016 nimmt ab sofort Anmeldungen entgegen. Ausgezeichnet werden Projekte, Produkte und Ideen, die die Energieeffizienz im RZ steigern und zu einem ressourcenschonenderen Betrieb beitragen. Ausstieg: LACie will im November den Cloud-Speicherservice Wuala abschalten. Die SeagateTochter, die sich 2009 den Schweizer Betreiber Caleido

einverleibte, empfiehlt, stattdessen auf den in der Schweiz und Ungarn beheimateten Speicherdienst Tresorit auszuweichen. Gewarnt: Anlässlich erneuter Webshop-Einbrüche mit Datenabfluss, unter anderem bei der Dating-Plattform Ashley Madison sowie beim Verlag Versicherungswirtschaft GmbH, weist cyscon auf seine FirefoxErweiterung „Security Shield“ hin, die ihre Anwender in der neuesten Ausgabe vor Webseiten warnt, in die zuvor eingebrochen wurde (siehe „Alle Links“).

Datenklau bei Offline-Computer Mit einem einfachen Mobiltelefon und einer Malware namens GSMem sind israelische Forscher des Cyber Security Research Center der Ben-Gurion-Universität über GSM-Frequenzen an Daten eines isolierten Computers gelangt. Solche Systeme ohne Netzverbindung kommen in kritischen Infrastrukturen oder für militärische

oder geheimdienstliche Zwecke zum Einsatz. Voraussetzung ist eine Schadsoftware, die den Speicherbus des Rechners als Antenne nutzt und modulierte elektromagnetische Signale überträgt. Diese kann ein ebenfalls manipuliertes Handy in der Nähe des Computers empfangen (siehe „Alle Links“). (ur)

-Veranstaltungen Abonnenten sind wieder einmal im Vorteil, weil sie das Heft schon einen Tag früher als die Kiosk-Käufer in den Händen halten. Denn um den Frühbucherrabatt für den Puppet-Workshop (13. – 14. Oktober, Stuttgart) zu bekommen, muss man sich bis zum 30. August anmelden. Deutlich mehr Zeit bleibt potenziellen Teilnehmern der Konferenz continuous lifecycle 2015 (10. – 12. November, Mannheim),

www.ix-konfe

renz.de

die bis zum 18. September gut 10 Prozent Rabatt auf die Teilnehmergebühr erhalten. Noch entspannter stellt sich die Lage beim Seminar Open Source Monitoring mit Icinga 2 dar, das vom 03. bis 04.11. in den Räumen des Heise-Verlags in Hannover stattfindet. Dort kommt man bis zum 21. September in den Genuss der vergünstigten Teilnehmergebühr. Weitere Informationen sowie die Möglichkeit zur Online-Anmeldung sind unter www.ix-konferenz.de zu erreichen. (js)

iX 9/2015



MARKT + TRENDS | MOBILE COMPUTING

Schwanengesang der SMS Auf Basis aktueller Zahlen der Bundesnetzagentur scheint es, als würde die SMS nicht mehr lange leben. Nur noch 16 Nachrichten pro SIM-Karte im Mittel verschickten Nutzer 2014, 2013 kamen sie noch auf 44. Und während 2012 insgesamt 59,8 Milliarden Mitteilungen einen Rekord darstellten, sind sie im letzten Jahr auf 22,5 Milliarden eingebrochen.

Linux-Desktop KDE auf dem Smartphone

Gleichzeitig steigt das durchschnittlich verwendete Datenvolumen von 114 MByte 2013 auf 288 MByte 2014. Das spricht nicht nur für eine stärkere Verbreitung des mobilen Netzes, sondern zeigt ebenfalls die Misere der SMS auf: Internetbasierte Messenger wie WhatsApp oder Threema scheinen ihr den Rang abzulaufen. (fo)

Unter Linux gehört KDE zu den beliebteren Desktop-Umgebungen. Nun haben die Entwickler auf der diesjährigen Konferenz Akademy eine Version namens Plasma Mobile für Smartphones vorgestellt. Ziel ist ein offenes System, bei dem die Privatsphäre und Freiheit des Nutzers im Vordergrund steht. Bisher läuft die Umgebung auf dem Android-Vorzeigehandy Nexusˇ5. Zum Installieren benötigen Anwender die

Nur kurz nach dem Start des Galaxy S6 Edge überarbeitet Samsung sein Vorzeigemodell mit der Ausgabe S6 Edge+. Es unterscheidet sich von seinem Bruder vor allem durch neue Funktionen zum Abspielen von Videos, eine bessere AudioWiedergabe und eine kürzere Ladezeit – 1,5 Stunden sollen

Quelle: KDE

Samsung aktualisiert sein Flaggschiff genügen. Für Anhänger klassischer Hardwaretasten bringt der Konzern zudem eine Hülle mit integrierter Tastatur auf den Markt. Die neue Smartwatch Gearˇ2 soll durch ein rundes Display und das eigene Betriebssystem Tizen bestechen, das unabhängig vom Smartphone läuft. (fo)

Portiert: Noch befindet sich Plasma Mobile in einem frühen Zustand und läuft auf dem AndroidVorzeigehandy Nexus 5.

Android fragmentiert zunehmend len Statistik sind die jüngsten 682ˇ000 Downloads des Programms. Insgesamt müssen die Zahlen nicht repräsentativ sein, geben aber ein anzunehmendes Minimum der vorhandenen Geräte an. Erfolgreichster Hersteller ist Samsung, der Anteil am Markt sinkt jedoch. Ein Blick auf die installierten Systeme (siehe Abbildung) zeigt, dass auf 77 Prozent der Geräte Android 4.x läuft, Version 4.4 ist die beliebteste. Ein aktuelles 5.1 haben nur 2,6 Prozent installiert, mehr Nutzer (4,6 Prozent) halten hingegen noch 2.3 die Treue. (fo)

Windows Phone wächst leicht

Alle Links: www.ix.de/ix1509016

Quelle: OpenSignal

Laut einer Statistik des Mobilfunkdienstleisters OpenSignal fragmentiert die Android-Landschaft immer stärker. So gibt es inzwischen über 24ˇ000 Geräte mit Googles Betriebssystem, die von etwa 1300 Herstellern stammen. Vor einem Jahr hatte das Unternehmen die gleichen Zahlen erhoben und kam auf 19ˇ000 Smartphones und Tablets, 2013 waren es noch 12ˇ000. Basis der Zahlen ist eine App, die Nutzer freiwillig installieren. Sie sammelt Daten zur Qualität der Mobilfunkverbindung. Grundlage der aktuel-

Wettbewerb: Am beliebtesten bleibt Android 4.4, wobei auch ältere Versionen noch ihre Anhänger haben. 16

Ubuntu-Tools. Bis zu einer benutzbaren Version müssen sich Interessierte jedoch noch gedulden, denn die Entwickler stellen eine solche erst zur Akademy 2016 in Aussicht. Technisch basiert die Umgebung auf Ubuntu Phone, auf dem das GUI-Framework Qt, die KDE-Frameworks sowie der Display Manager Wayland laufen. Neben KDE- und QtApps sollen Anwender Programme für Ubuntu Mobile nutzen können. (fo)

Weltweit kann Windows Phone kurz vor dem Start von Windows 10 zulegen – jedoch nur leicht und auf niedrigem Niveau. So ist in Deutschland inzwischen jedes zehnte Smartphone mit dem System ausgestattet (10,5 Prozent), ein Plus von 4,1 Prozent gegenüber dem Vorjahr. In der gesamten EU kommen die Redmonder auf einen Anteil von 10 Prozent, eine geringe Zunahme von 1ˇProzent. Ähnlich sieht das Wachstum in den USA mit 1,1 Prozent aus, jedoch muss sich Microsoft hier mit 3ˇProzent des Mobil-Kuchens begnügen. Die Zahlen entstammen einer Statistik des Marktforschungsinstituts Kantar. Angesichts der einst hohen Kosten durch den Einstieg, die Übernahme und das Abschreiben von Nokias Handygeschäft sowie der hohen Erwartungen des Konzerns und der Analysten zeigte sich Microsoft nicht zufrieden mit dem Ergebnis. Erfolgreich seien vor allem

preiswerte Smartphones gewesen, nun wolle man sich auf wenige Flaggschiffe konzentrieren, so CEO Satya Nadella. Aus dem Rennen um Marktanteile ziehe man sich zurück. Gleichzeitig haben die Entwickler des kommenden Windows 10 bekannt gegeben, welche Lumia-Modelle zuerst das neue System erhalten sollen: 430, 435, 532, 535, 540, 640, 640 XL, 735, 830 oder 930. Laut Microsoft ist das Ziel, allen hauseigenen Smartphones mit passender Hardware das Upgrade anzubieten. Beliebtestes Betriebssystem bleibt Android, das jedoch in der EU und vor allem in Deutschland mit einem Minus von 2,5 beziehungsweise 6,2 Prozent Federn lassen muss. In den USA kann sich Google noch über ein Plus von 3,4 Prozent freuen. Umgekehrt kann iOS hierzulande leicht zulegen und baut auf der anderen Seite des Atlantiks etwas ab. (fo) iX 9/2015



MARKT + TRENDS | STANDARDSOFTWARE

Rechnungssoftware für einen Euro Sage will das Billigsegment für Rechnungssoftware aufmischen und der Konkurrenz von FastBill, Billomat, Easybill und Lexoffice das Leben erschweren. Mittel zum Zweck ist eine Netto-Abo-Gebühr von monatlich einem Euro für das Online-Programm „One Angebotˇ&ˇRechnung“. Die Software für Freiberufler und Kleinunternehmen ist von jedem beliebigen Browser abrufbar. Sie verwaltet Kunden und Lieferanten, erfasst Einnahmen und Ausgaben und beherrscht Online-Banking, E-Mail-Versand und DATEV-Export. Support und Updates gibt es kostenlos. Eine Gratis-App für Android und iOS ergänzt das Angebot. Damit können Nutzer per Handy auf ihre Daten zugreifen, um beispielsweise Rechnungen direkt beim Kunden zu erstellen oder Ausgaben zu erfassen. Nach Ansicht des Herstellers umfasst die Ein-Euro-Version alle notwendigen Funktionen zu Angebots- und Rechnungslegung. Wer eine detailliertere Buchhaltung benötigt, kann zu

Kurz notiert Im Blick: Oracle baut die eigene Supply Chain ManagementCloud aus. Hinzu kommen Services zur Auftragsbestätigung und -verwaltung inklusive Auslastungsanzeige der Lieferkette. Übernahme: Das französische Callcenter- und CRM-Unternehmen Acticall will Sitel kaufen. Der Callcenter-Dienstleister soll als Teil der Acticall-Gruppe weiterhin unter eigenem Namen am Markt agieren. Testlauf: Um Unternehmen die neue Softwaregeneration S/4HANA schmackhaft zu machen, bietet SAP einen kosten-

18

Synchron: Wice hat den Outlook Synchronizer vorgestellt. Das Windows-Programm gleicht Adressen und Termine aus Outlook und Exchange mit dem CRM-Programm des Hamburger Softwarehauses ab. Kauflust: Infor möchte GT Nexus für rund 675 Mio. Dollar übernehmen. Das kalifornische Unternehmen ist Betreiber einer Cloud-Kollaborationsplattform, über die Firmen Waren beschaffen und deren Transport organisieren.

SAS bleibt Nummer eins One Financeˇ&ˇBuchhaltung wechseln. Für monatlich neun Euro erhält man zusätzliche Funktionen wie Umsatzsteuervoranmeldung via ELSTER, Buchungsjournale und Bilanzauswertungen. Für weitere 5,90 Euro lässt sich die Online-Lohnabrechnung Lohnˇ& Gehalt hinzubuchen. (jd)

Für die auf Business Intelligence spezialisierten Anbieter war 2014 ein überaus erfreuliches Jahr. Sie steigerten ihren Umsatz im Durchschnitt um zehn Prozent. Im Vergleich dazu wuchs der Markt für allgemeine Standardsoftware im vergangenen Jahr „nur“ um 5,4ˇ%. Zu diesem Ergebnis gelangt Lünendonk in seiner Marktstichprobe 2015. Die Poleposition unter den spezialisierten Softwareherstellern nimmt wieder SAS Institute ein. Die deutsche Dependance des BI-Veteranen aus den USA steigerte die Einnahmen um 4,3ˇ% auf 134,3 Mio. Euro. Auf Rang zwei liegt Teradata mit geschätzten 78,0 Mio. Euro Umsatz (+8,5ˇ%). Die dritte Position hält MicroStrategy mit einem geschätzten Deutschlandumsatz von 35,0 Mio. Euro. Es folgen Informatica und QlikTech, die ihren Rang

Automatisierte Rechnungsverarbeitung PDF/A nach ZUGFeRD) greift die OCR-Software auf die Rechnungen zu und liest die Daten auch aus maschinell nicht direkt auswertbaren Formaten wie Grafiken aus. Bei ZUGFeRD-Rechnungen extrahiert OCR die im PDF/A-Dokument eingebetteten XMLDaten automatisch und speist sie in die Rechnungsverarbeitung ein. Durch Abgleich mit Informationen zu Kreditoren oder Beträgen werden die Daten verifiziert und in das Rechnungseingangsbuch übertragen. Zur Sicherung des Vorsteuerabzugs im Prüfungsfall protokolliert die Software diese Vorgänge kontinuierlich. Das Kontieren der Rechnungen (Buchen) lässt sich nach Bedarf schon während der OCRErkennung, bei Eintrag der Rechnung im Eingangsbuch oder nach inhaltlicher Prüfung veranlassen. Benachrichtigungen via E-Mail informieren über den Prozessverlauf (Erhalt, Freigabe, Zahlung). (jd)

im Vergleich zum Vorjahr getauscht haben. Die Plätze sechs bis zehn halten Anbieter mit Hauptsitz in Deutschland, die hier auch den Großteil ihrer Erlöse erzielen. Von diesen fünf Unternehmen konnten prevero und CP Corporate Planning mit 14,4ˇ% respektive 7,5ˇ% die höchsten Zuwächse erwirtschaften. Laut Stichprobe nahmen hierzulande zwölf Analytics- und BISpezialisten jeweils mehr als zehn Mio. Euro ein. Zu beachten ist, dass Lünendonk in der Stichprobe ausschließlich Unternehmen untersucht, die mindestens die Hälfte ihres Umsatzes mit eigener Analyse- und BI-Software erzielen. Trotz signifikanter Einnahmen in diesem Segment finden internationale IT-Konzerne mit einem breiten Produktportfolio wie SAP, Oracle oder IBM keine Berücksichtigung. (jd)

Microsofts neuer Verkaufsspaß

Alle Meldungen: Achim Born

Die Unternehmenssoftware eGECKO der Künzeller CSS beherrscht die automatisierte Rechnungsverarbeitung einschließlich gesetzeskonformer Archivierung. Unabhängig vom Format (Papier, PDF oder

losen 30-Tage-Test der OnPremise Edition an. Interessenten müssen allerdings die benötigten Ressourcen von Amazon Web Services anmieten.

Microsoft spendiert der Vertriebssoftware Dynamics CRM eine Gamification-Komponente. Dazu hat die Firma Anfang August für eine nicht genannte Summe den texanischen Spezialisten Incent Games gekauft. Dessen FantasySalesTeamPlattform soll durch spieltypische Elemente den Vertrieb ankurbeln. Die Idee dahinter: Anstelle der traditionellen Motivationshilfen Zuckerbrot (Erfolgsprämien) und Peitsche

(Entlassung) sammeln Verkäufer über ihre Arbeitsleistung Punkte für ein Fantasiespiel, beispielsweise als Basketballer. Manager und Mitarbeiter anderer Abteilungen dürfen die Position und Zusammensetzung der virtuellen Teams festlegen. Das Einbinden der Kollegen außerhalb der Vertriebsteams sowie das Visualisieren von Team- und Einzelleistungen sollen Kollegialität und Produktivität fördern. (jd) iX 9/2015


MARKT + TRENDS | SYSTEMMANAGEMENT

Vorschau auf Ticketsystem OTRSˇ5

Quelle: OTRS Inc.

Administratoren erhalten mit einer Betaversion Einblick in die kommende Versionˇ5 der Helpdesk-Software OTRS (Open Ticket Request System).

Wichtigste Neuerung ist eine anpassbare grafische Oberfläche für unterschiedliche mobile Geräte. Eingabefelder sollen sich besser durchsuchen und filtern lassen. Anwender konfigurieren Benachrichtigungen selbst und erhalten sie wahlweise per SMS oder Web View. Neue Statistiken sollen einen schnelleren Überblick über das Ticketaufkommen geben. Der Hersteller will die Software beschleunigt haben, zudem soll sie besser skalieren und mit einer Zwei-Faktor-Authentifizierung mehr Sicherheit bieten. OTRS steht als freie Software unter der Lizenz AGPLv3 zur Verfügung. (tiw)

Die grafische Oberfläche fürs Ticketmanagement OTRSˇ5 erhält eine neue Mobilversion. Die Software steht als Betaversion bereit.

WLAN-Firewall von Dell Drahtlose Netze schützt die Appliance SonicWALL TZ Wireless von Dell. Das Gerät enthält eine Anti-MalwareKomponente, ein Intrusion-Prevention-System (IPS) sowie einen Paketfilter mit DeepPacket-Inspection (DPI) und Entschlüsselung von SSL-Datenverkehr. Es unterstützt den Funkstandard 802.11ac für Gigabit-WLAN und bietet zudem mehrere Gigabit-EthernetPorts. Benutzer können sich wahlweise per IPsec- oder

Kurz notiert Schnelleres Ticketing: LogicNow veröffentlicht Version 2.2 seiner Ticketing-Software MAX ServiceDesk. Sie soll ein neues GUI und verbessertes Ticketmanagement sowie neue Werkzeuge zur Personalplanung enthalten. Fernwartungsbox: Eine kompakte Version seiner Fernwartungs-Appliance stellt UC Point vor. UCP RAP BA bindet Zweig-

SSL-VPN verbinden. Ergänzt werden die Firewalls durch SonicPoint Access Points. Das kleinste Modell SOHO beherrscht lediglich den Standard 802.11n und unterstützt nicht alle Funktionen. Es kostet laut Herstellerangaben 474 Euro (netto ohne Support). Verfügbar sind außerdem vier weitere Varianten: TZ 300, 400, 500 und 600. Die Preise für das kleine Modell beginnen bei 713 Euro (netto ohne Support). (tiw)

stellen an und kann auch in Staaten mit Restriktionen bei der Verschlüsselungstechnik zum Einsatz kommen. Schlanker Client: Univention aktualisiert seinen Corporate Client auf Version 2.1. Er enthält den Citrix Receiver sowie einen Imageserver fürs Verteilen der Software im Netz. Bessere IT-Dienste: Releaseˇ3 von FNTs ServicePlanet führt bei den Benutzer-Interfaces ein Rollenmodell ein und enthält neue Strukturansichten.

iX 9/2015

Alle Links: www.ix.de/ix1509019




MARKT + TRENDS | SOFTWAREENTWICKLUNG

Visual Studio 2015 und .NET 4.6 sind fertig Microsoft hat Visual Studio 2015 und .NET 4.6 veröffentlicht. Bei den Neuerungen in der IDE ist die Cross-Plattform-Entwicklung für Android und iOS zentrales Thema. VS 2015 ermöglicht nun das Erzeugen von Cross-PlattformApps sowohl via C++ mit OpenGL ES als auch JavaScript mit HTML (via Apache Cordova) und .NET/C#/Visual Basic mit XAML (via Xamarin Starter Edition). Zudem liefert Microsoft einen Android-Emulator und erstmals RefactoringFunktionen für C++ und Visual Basic .NET sowie ein erweitertes Refactoring für C#. Die Funktion „Intellitest“ generiert

derweil automatisch Testfälle für Methoden mit geeigneten Parameterwerten. In Version 4.6 des enthaltenen .NET Framework sind unter anderem die SprachCompiler C# 6 und Visual Basic 14 zu finden. In beiden Sprachen gibt es nun den ?.Operator, der im Gegensatz zum einfachen Punkt-Operator keinen Laufzeitfehler auslöst, wenn der Ausdruck vor dem Punkt „null“ liefert. Aber auch String-Interpolation und ein schnellerer JIT-Compiler für 64-Bit-Anwendungen haben ihren weg in das Framework gefunden. H. Schwichtenberg (ane)

TypeScript 1.5 unterstützt viel von ES 2015 Im Zuge der Freigabe von Visual Studio 2015 ist auch die Version 1.5 von Microsofts Programmiersprache TypeScript erschienen. Schon die Vorgängerversion setzte etliche Features des im Juni finalisierten ECMAScript 2015 um. Hinzugekommen sind nach dem Update nun for..of-Schleifen über Objektmengen, der SpreadOperator, Destructuring sowie die ECMAScript-Module. Letztere lassen sich parallel mit den in TypeScript 1.0 eingeführten TypeScript-Modulen nutzen, jedoch rät Microsoft mittlerweile, die Syntax des Standards zu verwenden.

Alle Links: www.ix.de/ix1509022

Kurz notiert Subversion: Verbesserungen des FSFS-Systems und ein neues experimentelles Repository Backend namens FSX kennzeichnen die nun erschienene Version 1.9 der Versionskontrolle. Darüber hinaus soll ein neues Dateisystemformat die Zahlen der I/O-Operationen reduzieren. GitHub: Der Repository-Hosting-Dienst hat als Nachfolger seiner Desktop-Clients GitHub for Windows/Mac nun GitHub Desktop vorgestellt. Er soll Nutzern eine einheitliche Oberfläche bieten und so den Wechsel zwischen beiden Systemen so-

22

Neu in TypeScript 1.5 sind außerdem Dekoratoren, die Metadaten für Klassen und Klassenmitglieder darstellen und in Zusammenarbeit mit den Entwicklern der JavaScriptFrameworks AngularJS, Ember und Aurelia entwickelt werden. Sie entsprechen den Annotationen in Java und Attributen in .NET. Zusätzlich gibt es eine Metadaten-API zur Abfrage der Dekoratoren. Letztere und die MetadatenProgrammierschnittstelle sind auch Vorschläge für den nächsten ECMAScript-Standard, der voraussichtlich 2016 erscheinen soll. (ane)

wie die Kommunikation darüber erleichtern. io.js: Unter anderem der Wechsel auf Version 4.4 der JavaScript-Engine V8 ist Auslöser für den großen Sprung auf Version 3.0 der JavaScript-Plattform. Außerdem kann das Projekt nun mit der PowerPCArchitektur umgehen und schreibt automatisch eine History-Datei für die REPL. Git: In Version 2.5 der Versionsverwaltungssoftware haben die Entwickler die Ausgabe von Vergleichsfunktionen zwischen alten und neuen Versionen verbessert, die Branch-Behandlung vereinfacht und das Hilfesystem mehr an die Bedürfnisse von Git-Einsteigern angepasst.

Neu auf Auch auf dem von iX betreuten Online-Channel ist das VisualStudio-Update ein Thema. So können sich Nutzer von ASP.NET darüber informieren, was ihnen VS 2015 zu bieten hat. Auf JavaScript- und Node.js-Entwickler wartet derweil unter anderem eine Einführung in die asynchrone Programmierung. Aber auch zum Einsatz von Animationen mit AngularJS 1.4 gibt es neuen Lesestoff. Wer sich hingegen für Data Mining interessiert, kann sich mit einem Artikel über R und Rattle Grundlagenwissen in diesem Bereich aneignen. Der dritte Teil der Serie „Operations heute und mor-

gen“ widmet sich dem Thema Virtualisierung und Containerisierung. Kaum ist die Urlaubszeit vorbei, beginnt schon der zweite Teil des Konferenzjahres. Wer überlegt, vom 10. bis 12. November die Continuous Lifecycle zu besuchen, kann sich bis zum 18.09. ein Ticket zum Frühbucherpreis sichern. Die Konferenz rund um Continuous Delivery, DevOps und Containerisierung findet wie im Vorjahr im Rosengarten Mannheim statt und kann Dave Farley und Jutta Eckstein für die Keynotes begrüßen. (jul)

Ember.js 2.0: Weniger ist mehr Statt wie gewöhnlich eine neue Hauptversion mit neuen APIs vollzustopfen, haben die Entwickler der JavaScript-Frameworks für ihre Version 2.0 alles Überflüssige entfernt, das sich über die Jahre angesammelt hat. Unter anderem ist zu beachten, dass Views ab Ember.js 2.0 nicht mehr Teil des Frameworks sind. Components sollen mittlerweile alle Anwendungsfälle abdecken, für die Views einst gedacht waren. Da die Umstellung bestehender Apps einige Monate dauern wird, steht das Add-on ember-legacy-view zum Überbrücken zur Verfügung. Ähnliches gilt für Controller, deren Einsatzszenarien jetzt ebenfalls anderweitig abgedeckt sind und für die ember-legacy-

controllers für den Übergang bereitsteht. Als weitere Beispiele für entfernte Komponenten nennen die Entwickler die Legacy Handlebars Helper und den Support für Internet Explorer 8, da die 2.x-Serie nur noch IE9 und höher unterstützen will. Als grobe Aufgaben, denen man sich nach der Aufräumaktion mit der 2.x-Reihe stellen will, nennen die Ember.js-Entwickler die Harmonisierung mit ECMAScript 6 beziehungsweise 2015 und den kommenden Versionen, das Einführen eines modularen Entwicklungsstils sowie die Stabilisierung und Integration von Komponenten wie Ember Data und Ember CLI in den ReleaseZyklus. (jul)

Rust-Entwickler verbessern Performance Nutzern von Rust steht seit Kurzem Version 1.2 der syntaktisch an C und C++ erinnernden Programmiersprache zur Verfügung. Da seine Entwickler vor allem die Leistungsfähigkeit ihres Projekts im Auge hatten, sollen nun unter anderem Pakete wie regex und rust-encoding schneller kompilieren und Anwender durch parallele Codegenerierung Zeit sparen können. Außerdem soll der Paket-Manager Cargo schneller arbeiten, da er nun beispielsweise den Einsatz von Shared Target Directories ermöglicht.

Darüber hinaus haben die Entwickler die Implementierung sogenannter Dynamically-sized Types abgeschlossen. Hierfür haben sie zuletzt daran gearbeitet, dass intelligente Zeigertypen nun auch Typen ohne vorher festgelegte Größe, Arrays und Trait-Objekte umfassen können. Mit Rust 1.2 lassen sich zudem erstmals Werkzeuge aus Microsofts Visual C Toolchain verwenden, allerdings befindet sich diese Funktion noch in der Entwicklungsphase, weshalb das RustTeam vorerst von ihrem Einsatz abrät. (jul) iX 9/2015



MARKT + TRENDS | GDC EUROPE

Game Developers Conference: Plattformen und VR im Fokus

Wandelgänge Jana Behr Der Spielemarkt weltweit und in Deutschland boomt – wenn auch nicht mehr so stark wie vor ein paar Jahren. Trotzdem war an jedem Stand der vom 3. bis 4. August im Vorfeld der gamescom in Köln ausgerichteten GDC Europe das Schild „We’re hiring“ zu sehen.

N

ach Angaben der Organisatoren besuchten über 2000 Gaming-Experten das wichtigste europäische Event für Spieleentwickler, um sich von 120 Referenten in 90 Sessions und bei über 30 Ausstellern inspirieren zu lassen. Zum zweiten Mal erhielten während des European Innovative Games Showcase zudem aufstrebende Entwickler die Möglichkeit, ihre aktuellen Projekte vorzustellen. Neben der Frage, wie sich der Bedarf an Fachkräften decken lässt, waren wie schon im Vorjahr Virtual Reality (VR), Mobility und die Monetarisierung von Spielen dominante Themen. Aber auch Neuerscheinungen hatten ihren Platz, so stellte etwa Autodesk eine Kombination seiner Stingray Engine mit der für Game-Design optimierten 3D-Modellierungssoftware Maya LT vor. Das Ergebnis ist eine Spiel-Engine, die Entwicklern ab dem 19. August 2015 zur Verfügung stehen soll. Sie unterstützt eine Reihe von SpieleentwicklungsWorkflows und bindet Autodesks 3D-Animationssoftware ein, sodass sich 3D-Assets schneller importieren, prüfen, anpassen und im Gameplay betrachten lassen. Änderungen kann sowohl der Designer als auch das Entwicklungsteam direkt umsetzen. Der vielfach besprochene Wandel im Gaming-Markt machte sich auch in den bis zu fünf parallel stattfindenden Tracks bemerkbar. So sprach Tobias Tost von Blue Byte beispielsweise darüber, wie aus 24

einem Konsolenspiel wie Assassin’s Creedˇ2 ein Mobile Game, in dem Fall Assassin’s Identity, wird. Ziel bei der Transformation war, die hohe visuelle Qualität des Spiels im mobilen Format beizubehalten. Dazu wurde statt der normalerweise genutzten Eigenentwicklung Anvil Engine die Unity Engine gewählt, da sich Anvil nicht für mobile Plattformen nutzen lässt. Darüber hinaus ging Tost darauf ein, wie die Zusammenarbeit in über die Welt verteilten Teams funktionieren kann. Das Entwickeln von Spielen für Kinder hingegen eröffnet ganz anders gelagerte Fragestellungen, denen sich etwa Clark Stacey als CEO von WildWorks stellen musste. Zu beachten sei vor allem der Hintergrund, dass Kinderspiele nie an die Umsätze von denen für Erwachsene reichten. Das liege vor allem daran, dass die meisten Spiele für Kinder kostenlos seien. Allerdings spiele keine demogra-

fische Gruppe mehr, als die der 2- bis 12-Jährigen. Die Herausforderung liegt also wie so oft darin, den richtigen Grad an Monetarisierung zu treffen. Es gibt dabei unterschiedliche Möglichkeiten, die Entwicklungskosten wieder hereinzubekommen – von In-App-Verkäufen (IAPs) über kostenpflichtige Apps bis zu Werbung. Allerdings gilt es bei allen Alternativen, rechtliche internationale Rahmenbedingungen wie auch mentalitätsbedingte Reaktionen zu beachten. Ein Vorschlag des Experten: auf freiwillige Spenden setzen. Bei allen Ansätzen sei es wichtig, Kinder als Zielgruppe ernst zu nehmen und außerdem die Eltern in die vertrieblichen Überlegungen zu integrieren. Stacey forderte einen Leitfaden, der Monetarisierung neu definiert.

VR noch immer Trend Natürlich gab es auch einige Vorträge zum alten und neuen Trendthema Virtual Reality (VR). Neben Bereichen wie Leistung und Umsetzung war die Frage nach der Glaubhaftigkeit der grafischen Darstellung zentral. Laut John Foster von Sony Entertainment Europe ist für Letzteres entscheidend, wie hoch der Grad der Immersion ins virtuelle Erlebnis ist. Auch wenn der Anwender kein Experte in der im Spiel simulierten Welt sei, wolle er sich wie einer fühlen. Foster brachte das Beispiel des Nachladens einer Pistole, bei der das Magazin in einer Linie mit den Patronen angeordnet sein müsste, um sie direkt laden zu können. Jede Irritation würde den Spieler aus dem virtuellen Erleben heraus-

Autodesks Stingray vereint Engine und Modelling-Tool, um die Arbeit von Spieleentwicklern mit unterschiedlichen Fähigkeiten und Programmiererfahrungen intuitiver zu gestalten.

reißen. Beste Ergebnisse erreiche man dabei nach der Philosophie „Weniger ist mehr!“. An das Bild der Spiel-Engine angelehnt, untersuchte Jason VandenBerghe, Kreativdirektor bei Ubisoft Montreal Studios, in seinem mitreißenden Vortrag „Engines of Play“ das, was Gamer antreibt, ein Spiel zu spielen. Er ging dabei von soziologischen Modellen aus, die letztlich den Neuigkeitsfaktor, die Herausforderung, die einfache Spielbarkeit und die Stimulation des Spielers ins Verhältnis setzen. In den letzten Jahren habe sich vieles geändert: Wo früher ein paar Explosionen den Spieler gefesselt hätten, gehöre heute schon eine Menge mehr dazu, ihn am Ball zu halten. Im Grunde gehe es immer darum, die drei Grundmotivationen zu bedienen: Kompetenz, Autonomie und den Grad der Bekanntheit. Zu wissen, wieso Spieler überhaupt spielen, und dies zu verstehen, ist eine Voraussetzung dafür, Spiele gut zu verkaufen. Für Mike Hines von Amazon gehört deshalb das Tracken von verkauften Spielen und deren Items zum Handwerk. Die Verkaufszahlen folgten der Logik „Je mehr ein Spiel gespielt wird, desto mehr Items werden auch verkauft“. Unter den Top-50-Games falle auf, dass die Spiele definitiv mehr Items verkauften als die auf den hinteren Plätzen der Liste, da sie häufig auch eine bessere Vertriebsstrategie verfolgten, die unter anderem darauf setze, über einen längeren Zeitraum relevante Zahlen im Blick zu behalten. Ganz praktische Tipps gab Olga Kachalina von Wargaming, dem Anbieter des besten App-Store-Spiels 2014. Zuallererst sei es wichtig, die Spieler in Tests genau zu studieren. Ihrem Studio etwa halfen Beobachtungen in Testläufen bei der Gestaltung der Steuerelemente. Zudem müssten Bestandteile wie Icons weltweit verstanden werden und auch die Reduktion der Inhalte für kleinere Geräte sei wichtig. Als zentrale Erkenntnis gab die Expertin ihren Zuhörern mit, dass Spiele letztlich nicht für einen selbst, sondern für die Nutzer entwickelt würden. Das im Kopf zu behalten, wird auch im nächsten Jahr über Erfolg und Misserfolg neuer Titel entscheiden. (jul) iX 9/2015



Einen solch hohen Zuwachs hatte die Telekom seit mehr als drei Jahren nicht mehr ausweisen können. Für das Gesamtjahr erwartet der Konzern nun rund 250ˇ000 weitere Breitband-Kunden. Zu Jahresbeginn lag die Prognose noch bei 100ˇ000. Das derzeitige Wachstum geht allerdings allein vom Verbrauchersegment aus. Die Zahl der Anschlüsse stieg hier im vergangenen Quartal auf 10,1 Mio. (+0,8ˇ%), davon basierten etwas mehr als 2ˇMio. (+13,3ˇ%) auf Glasfaser. Im Geschäftskundensegment verharrte die Zahl der Breitbandanschlüsse bei rund 2ˇMio., allerdings mit einer leichten Verschiebung zugunsten der Glasfaserzugänge (312ˇ000, +10,2ˇ%). Inzwischen hat die Telekom nach eigenen Angaben 7,8 Mio. (Telefon-)Anschlüsse auf die IP-Plattform umgestellt, 9ˇ% mehr als vor Jahresfrist. Der Anteil der migrierten Anschlüsse erreicht damit bereits ein Drittel aller Festnetzanschlüsse des Bonner Konzerns. (un)

Telekom-Kunden in Deutschland (in 1000) Sparte Mobilfunk davon Vertragskunden Festnetzanschlüsse davon IP-basiert (Retail) Breitbandanschlüsse davon Glasfaser TV (IPTV, Sat) Teilnehmer-Anschlussleitungen (TAL)

30. Juni 2015 39465 22984 20437 5763

30. Juni 2014 39337 22379 21034 3167

Änderung 0,3ˇ% 2,7ˇ% -2,8ˇ% 82,0ˇ%

12518 2365 2578 8432

12361 1494 2318 9101

1,3ˇ% 58,3ˇ% 11,2ˇ% -7,4ˇ%

Kurz notiert Auftrieb: Der weltweite mobile Datenverkehr soll laut Gartner 2015 um 59ˇ% auf 52 Mio. Terabyte zulegen. Die Marktforschungsfirma prognostiziert, dass er bis 2018 auf 173 Mio. Terabyte anschwellen wird. Aufstieg: In Rechenzentren sollen 2017 laut einem Report der Dell’Oro Group Server-Netzanschlüsse mit 10 GBit/s mehr als die Hälfte aller Ports ausmachen. Dank boomendem Cloud-Geschäft steigt zudem die Nachfra-

26

ge nach 25, 50 und 100 GBit/s. 2018 soll bereits ein Viertel aller Netzadapter in diese Kategorie fallen. Austritt: Cisco zieht sich aus dem Geschäft mit Flash-Speicherprodukten (Invicta) zurück. Der US-Konzern hatte den Bereich vor zwei Jahren mit dem 415 Mio. Dollar teuren Kauf von Whiptail aufgebaut. Abschied: Die Telekom trennt sich vom Web-Portal T-Online und dem Vermarkter Interactive Media. Neuer Eigner wird Ströer. Im Zuge der 300 Mio. Euro schweren Transaktion erhält die

WLAN-Router mit Touchscreen Der Touch P5 von TP-Link ist mit einem Farb-Touchscreen im 4,3-Zoll-Format ausgestattet. Mithilfe einer eigenen grafischen Oberfläche erlaubt er das menügeführte Einrichten und Konfigurieren des WLAN ohne PC oder Tablet direkt am Router. Das System überträgt bis zu 1300 MBit/s über das 5-GHz-Band und 600 MBit/s im 2,4-GHz-Band. Neben drei externen Antennen verfügt das Gerät über vier GBit-EthernetPorts sowie eine USB-3.0- und eine USB-2.0-Schnitt-

stelle. Der Touch P5, der sich als Router, als Repeater und als Access Point einsetzen lässt, soll anlässlich der IFA erscheinen und noch im dritten Quartal 2015 zu einem empfohlenen Bruttopreis von 169 Euro in den Handel kommen. (un)

Quelle: TP-Link

Die Deutsche Telekom verzeichnete im zweiten Quartal 2015 ein Umsatzplus von 15,3ˇ% auf 17,4 Mrd. Euro. Für den ansehnlichen Anstieg ist weitgehend das Geschäft in den USA verantwortlich. Das einstige Sorgenkind T-Mobile US legte um 13,7ˇ% auf 8,2 Mrd. Dollar zu. Dagegen nimmt sich der Umsatzzuwachs in Deutschland mit 2,1ˇ% auf 5,6 Mrd. Euro bescheiden aus. Für Europa weist der Bonner Konzern dagegen einen Rückgang um 0,9ˇ% auf 3,14 Mrd. Euro aus. Der bereinigte Konzernüberschuss legte um fast 70ˇ% auf 1,1 Mrd. Euro zu. Inklusive Sondereinflüssen lag der Gewinn bei 0,7 Mrd. Euro und damit auf Vorjahresniveau. Offenbar machen sich die Investitionen des Bonner ExMonopolisten in die Netze hierzulande allmählich bezahlt. Die Zahl der Breitband-Kunden (Stand 30. Juni) kletterte binnen Jahresfrist um 157ˇ000 auf 12,5 Mio. Allein im zweiten Quartal 2015 sollen weitere 81ˇ000 hinzugekommen sein.

Umfangreiches Update von LANCOM

Quelle: Deutsche Telekom AG 08/2015

Telekom profitiert vom USA-Geschäft

Alle Meldungen: Achim Born

MARKT + TRENDS | KOMMUNIKATION

LANCOM hat ein kostenloses Update seines Netzwerkbetriebssystems LCOS mit über 100 Änderungen veröffentlicht. Die Release 9.10 soll die Leistung und Stabilität des Netzequipments in WLANund All-IP-Infrastrukturen verbessern. Die Geräte des Herstellers aus Würselen erhalten eine integrierte Funktion zum Erstellen digitaler Zertifikate. Sichere VPN-Verbindungen erfordern folglich keine externe Zertifizierungsstelle mehr. Des Weiteren lassen sich mehrere WLAN-Controller und Central-Site-VPN-Gateways zu einer hochverfügbaren Gerätegruppe (High-Availabi-

lity Cluster) zusammenfassen. Die Systeme eines Clusters werden zentral verwaltet. Unter anderem ermöglicht die Funktion des Konfigurationsabgleichs (Config Sync), dass in Backup-Szenarien nur ein WLAN-Controller oder Central-Site-VPN-Gateway je Cluster konfiguriert werden muss. LCOS 9.10 erlaubt es, Netzwerke über das GRE-Protokoll (Generic Routing Encapsulation) zu tunneln oder bis zu 867 MBit/s schnelle Punkt-zuPunkt-Strecken über WLANs gemäß IEEE 802.11ac einzurichten. Zudem lässt sich für jeden WLAN-Client ein individuelles Durchsatzlimit pro SSID definieren. (un)

Telekom Anteile an dem Kölner Werbespezialisten.

renten wechseln, sollen noch bis 2019 ISDN erhalten können.

Zufrieden: Im zweiten Quartal 2015 erzielte QSC einen Umsatz von 100,9 Mio. Euro (-7,8ˇ%) und einen Bruttogewinn von 27,2 Mio. Euro (-2,2ˇ%). Der Rückgang ist dem Umbau des OutsourcingGeschäfts sowie den schwindenden TK-Einnahmen geschuldet. Die Einnahmen mit Consulting und Cloud-Services legten zu.

Geschwätzig: Twitter erlaubt nun Direktnachrichten von bis zu 10ˇ000 Zeichen Länge. Allerdings fiel das 140-Zeichen-Limit nur für Verbraucher. Unternehmen müssen sich weiterhin kurzfassen.

Ausdauer: Vodafone will leitungsvermittelte ISDN-Telefonie noch bis zum ersten Halbjahr 2022 betreiben. Geschäftskunden, die zum Telekom-Konkur-

Sicherung: Die Bundesdruckerei hat die Mehrheit am IT-Sicherheitsspezialisten genua gmbh erworben. Das Unternehmen bietet unter anderem Firewalls, VPNs für geschützten Datenaustausch, Fernwartung für Maschinenanlagen und IT-Systeme sowie Produkte für mobile Sicherheit an.

iX 9/2015


MARKT + TRENDS | DATENBANKEN

MariaDB Enterprise Summer 2015 für Chef reagiert der Hersteller auf die immer häufigere Zuständigkeit von Entwicklern für administrative Datenbankbelange. Chef-Recipes definieren Richtlinien für Ressourcen und liegen in einer Verzeichnisstruktur, dem Cookbook. Die Zeile chef-solo –c solo.rb –o recipe[mariadb-enterprise::install] etwa installiert einen MariaDB-Server. Außerdem hat das Unternehmen die JavaKonnektoren überarbeitet und MariaDB Cluster besser an die MySQL-Cluster-Technik Galera angepasst. (tiw)

Quelle: MariaDB

MariaDB legt die kommerzielle Enterprise-Version seiner gleichnamigen Datenbank in einer aktualisierten Summer2015-Release vor. Neue Features sollen vor allem das Entwickeln, das Verteilen und den Betrieb von Datenbankanwendungen vereinfachen und beschleunigen. Dazu unterstützt die Software Docker-Container sowie das DevOps-Werkzeug Chef. Auch die Datenbank selbst steht als Docker-Container zur Verfügung. Mit anpassbaren Recipes („Rezepten“) und Cookbooks

Auf ein Chef-Cookbook nimmt man wahlweise in einer Datei des Verwaltungstools Vagrant Bezug. Dieses Beispiel installiert einen MariaDB-Server.

Zweite Vorschauversion von MySQL 5.7 Oracle hat mit Version 5.7.8 einen zweiten Release Candidate seiner Datenbank MySQL veröffentlicht, der die bislang nur in der Labs-Release enthaltene JSON-Unterstützung mitbringt. Neben dem JSON-Datentyp gibt es Funktionen, die Informationen dazu liefern (wie JSON_LENGTH), Werte in diesem Format erzeugen (etwa JSON_OBJECT, JSON_ARRAY) sowie in Werten und Schlüsseln von JSON-Objekten suchen. Für die in MySQL 5.7.6 eingeführten virtuellen Spalten (Generated Columns) lassen sich Indizes erstellen. Sie

Kurz notiert Option zertifiziert: SAP hat die Oracle-Datenbank 12c mit der In-Memory-Option für seine Produkte zertifiziert. Die Freigabe gilt für Software auf Basis von NetWeaver Versionˇ7. ODBC-Treiber: Das Unternehmen Devart bietet kommerzielle ODBC-Treiber für Daten-

gelten als Ersatz für funktionale Indizes anderer Datenbanken. Zum Ex- und Importieren von Datenbankinhalten gibt es das Werkzeug mysqlpump, das das bekannte mysqldump ersetzen soll. Es sichert mehrere Datenbanken samt Objekten parallel und soll schneller arbeiten. Benutzerdaten exportiert es als SQL-Statements. Weil das Tool vor einem Export derzeit keinen Synchronisationspunkt erzeugt, können inkonsistente Daten entstehen – für Backups sollte man es deshalb noch nicht einsetzen. Christian Kirsch (tiw)

bankanwendungen an, die auf PostgreSQL zugreifen sollen. Eine 30-Tage-Testversion gibt es kostenlos, eine Lizenz kostet ab 119 US-Dollar. Echtzeit-Analyse: Die für Realtime-Analytics-Anwendungen ausgelegte Streaming-Datenbank PipelineDB ist ein Fork von PostgreSQL 9.4.4. Der Quellcode steht auf GitHub zur Verfügung.

iX 9/2015

Alle Links: www.ix.de/ix1509027


MARKT + TRENDS | WORLD WIDE WEB

Chrome-45-Beta: Mehr ECMAScript 2015 Kurz nach der Verabschiedung der sechsten Ausgabe von ECMAScript im Juni hat Google seinen Browser Chrome mit einigen zur neuen Sprachversion gehörenden Eigenschaften ausgerüstet. Laut einem Beitrag im Chromium-Blog bietet die Betaversion von Chrome 45 Unterstützung für die Arrow-Funktionen, neue Methoden für Array und TypedArray sowie Object – im Blog der JavaScript-Engine V8 finden sich Details. Außerdem haben die Entwickler die mit Version 40 begonnene Einführung der Service Worker fortgesetzt. Man

kann jetzt unter anderem deren Performance messen, indem man die vom World Wide Web Consortium entwickelten APIs für User Timing und Resource Timing nutzt. Zu den weiteren Änderungen gehört, dass die Implementierung der Push-API aktualisiert wurde. Und Chrome holt sämtliche als HTML-Import referenzierten Seiten sofort, statt darauf zu warten, dass alle vorher referenzierten Skripte vollständig geladen sind. HTML-Importe werden wie Stylesheets im head-Element angegeben, sie gehören zum Umfeld der wiederverwendbaren Web-Komponenten. (hb)

WebGLStudio.js: 3D-Szenen im Browser Javi Agenjo, in Barcelona ansässiger Entwickler, hat gemeinsam mit der GTI Graphics Group der University Pompeu Fabra das Projekt WebGLStudio.js ins Leben gerufen und die Quellen nach etwa drei Jahren Arbeit unter der MITLizenz auf GitHub veröffentlicht. Es handelt sich bei dem Projekt um einen grafischen 3D-Editor, der im Browser läuft und verschiedene Werkzeuge zum Erstellen dreidimensionaler Grafiken anbietet. Wie der Name WebGLStudio.js andeutet, kommen für die Umsetzung Webtechniken wie WebGL und JavaScript zum Einsatz. Eine Demo, mit der sich die Funktionen des Tools austesten lassen, ist neben einigen Videos auf der zugehörigen Webseite zu finden. Mit LiteScene.js umfasst das Projekt unter anderem eine Engine für 3D-Grafik, die das Set-

zen mehrerer Lichtquellen und den Einsatz von Shadow Maps, Echtzeitreflexionen, Animationen sowie eigenen Materialien und Effekten ermöglichen soll. Ein Graph-Editor soll darüber hinaus Optionen zum Erstellen von Postproduktionseffekten und Ähnlichem bieten. Das virtuelle Dateisystem LiteFileServer.js dient dazu, die benötigten Ressourcen im Web zu speichern, die sich wiederum per DragˇandˇDrop dort platzieren lassen. Um den Einstieg zu erleichtern, verfügt WebGLStudio.js über einen WYSIWYG-Editor, der alle nötigen Funktionen versammelt. Außerdem ist das Werkzeug modular aufgebaut, sodass sich Änderungen vergleichsweise einfach implementieren oder Plug-ins ergänzen lassen, wenn etwa eine Anpassung der Rendering Pipeline gewünscht ist. (jul)

Kurz notiert

aus neun Männern und einer Frau – alle weiß.

jQuery-Diversität: Die jQuery Foundation will sich darum bemühen, bei ihren Mitwirkenden „unterschiedliche Kulturen, Hintergründe, Perspektiven und Fähigkeiten“ mehr als bisher zu berücksichtigen. Momentan besteht das Board of Directors

W3C-Prozedere: Das Web-Konsortium hat sein Dokument zum Vorgehen bei der Entwicklung von Spezifikationen („World Wide Web Consortium Process Document“) aktualisiert und im Vergleich zum Vorjahr den ganzen Abschnittˇ5 (Activities) gestrichen.

Do-Not-Track: Privacy Badger 1.0 der EFF Version 1.0 ihres Do-NotTrack-Werkzeugs Privacy Badger hat die Electronic Frontier Foundation jetzt freigegeben. Ähnlich Ghostery und NoScript erlaubt das Add-on für Chrome und Firefox Benutzern, Websites, die das DoNot-Track ignorieren, schlicht zu blockieren – oder nicht. Außerdem übernimmt Privacy Badger es, Dritt-Domains daraufhin zu prüfen, ob sie durch fürs Tracking geeignete Coo-

Plotly: Kostenlose Datenvisualisierung Vorausgesetzt, alle Links und Bezüge zum Anbieter Plotly bleiben unberührt und intakt, ist die JavaScript-Bibliothek Plotly.js kostenlos zu haben. Die in Montreal, Quebec, ansässige Firma bietet mit den Basic Charts ihres Werkzeugs schon einige Chart-Varianten. Plotly.js fußt auf dem der Visualisierung dienenden D3.js und dem WebGL-orientierten Paket stack.gl. Interessenten können die Bibliothek entweder auf ihren eigenen Server herun-

Alle Links: www.ix.de/ix1509028

terladen oder sie über ein Content Delivery Network (CDN) beziehen. Wer mehr benötigt, kann für 249 US-$ pro Jahr und Entwickler die Advanced Charts erwerben, durch die unter anderem Flächenkartogramme und Histogramme hinzukommen. 3D-Entwickler müssen für die nächste Ausbaustufe 995 Dollar pro Entwickler und Jahr einkalkulieren und bekommen dafür Streudiagramme (Scatter Plots), Surface und Line Plots. (hb)

AdBlocker-Nutzung stark gestiegen Die Werbeblocker-Experten von PageFair haben gemeinsam mit Adobe einen neuen Bericht zu Werbeblockern veröffentlicht. Die Zahl der Adblocker-Nutzer steigt rasant, was die Werbebranche in Alarmstimmung versetzt. Allein im vorigen Jahr habe das Adblocking weltweit um 41ˇ%, in den USA um 48ˇ% und in Europa um 35ˇ% zugenommen. Letztere Zahl bedeutet, dass es dort im zweiten Quartal dieses Jahres 77 Mio. sogenannte Monthly Active Users (MAUs) gab (45 Mio. in den USA).

28

kies oder Browser Fingerprinting versuchen, den Anwender zu verfolgen. Wenn dieselbe Domain derlei auf drei unterschiedlichen Websites unternimmt, blockiert es von selbst. Die EFF hatte ebenfalls Anfang August gemeinsam mit anderen Regeln vorgelegt, denen Firmen folgen müssen, wenn sie DNT respektieren. Das Dokument, das die Regeln enthält, muss an einem festgeschriebenen Ort gespeichert sein. (hb)

In Europa hat Großbritannien 2014 deutlich zugelegt: um 82ˇ% auf durchschnittlich 12 Mio. MAUs im zweiten Quartal 2015. Deutschlands Zuwachs um 17ˇ% bedeutete 18ˇMio. MAUs. Prozentual liegen Griechenland mit knapp 37ˇ% und Polen mit fast 35ˇ% Zuwachs vorn. Insgesamt kommt die Studie auf weltweit 198 Mio. MAUs im Juni 2015. Den Verlust an Werbeeinnahmen für 2015 schätzt PageFair auf 21,8 Mrd. US-Dollar. Für 2016 befürchten sie ein Minus von über 40 Mrd. US-Dollar. (hb) iX 9/2015


MARKT + TRENDS | SYSTEME

Amazons Aurora: ein Datenbanksystem für alle Kunden Seit Ende Juli dürfen alle Kunden von Amazons Web Services (AWS) deren Datenbank Aurora nutzen. Das zu MySQL 5.6 kompatible System hatte das Unternehmen bereits im November 2014 angekündigt. Laut Anbieter soll es bis zu fünfmal schneller als MySQL sein und eine höhere Verfügbarkeit haben als andere Datenbanken. Außerdem sei eseinfacher zu bedienen und verursache nur ein Zehntel der Kosten vergleichbarer Produkte. Anwender zahlen keine Grundgebühren vorab. Die Kosten hängen einzig vom Gebrauch der Datenbank und dem

Speichervolumen im Simple Storage Service (S3) ab. Kunden können bei Vorauszahlungen durch gesenkte Stundengebühren bis zu 66ˇ% sparen. Die Abrechnung erfolgt monatlich. Der Preis für eine DB-Instanz in der EU (Standort Irland) beginnt bei 0,32 US-$ pro Stunde. Ausfälle soll Aurora automatisch erkennen und in weniger als 60 Sekunden durch einen Neustart beheben, ohne Crash Recovery oder die Notwendigkeit, DatenbankenCaches neu zu erstellen. Tritt ein Fehler auf, fährt automatisch eine Read-Replica hoch.

Das soll vor Datenverlusten schützen. Bei Bedarf erhöht Aurora den Speicher in Schritten von 10 GByte bis auf maximal 64 TByte und sichert jeden 10-GByte-Block in drei sogenannten Availability Zones. Amazons Aurora ist im Rahmen des Relational Database Service (Amazon RDS) in den Regionen EU (Irland), US East und US West verfügbar. Es sollen weitere Regionen hinzukommen. Aurora ist das fünfte Datenbanksystem nach MySQL, Oracle, Microsofts SQL Server und PostgreSQL, das Kunden im RDS nutzen können. (rh)

Supercomputer QPACE 2 an der Universität Regensburg in Betrieb Zu den schnellsten und energieeffizientesten Supercomputern zu gehören, reklamiert der neue Prototyp QPACEˇ2 für sich. Er steht an der Universität Regensburg. Ein Gruppe von Wissenschaftlern der dortigen PhysikFakultät hat in Zusammenarbeit mit Eurotech aus Italien den Supercomputer entwickelt. Er ist für numerische Simulationen in der Quanten-Chromo-Dynamik (QCD) konzipiert und trägt den Namen QPACEˇ2, abgeleitet von „QCD Parallel Computing Engine“. Obwohl das neue System so kompakt ist, dass es in ein Rack passt, erreicht es eine Rechenleistung von 199,1 TFlop/s im Linpack. Mit seinen 15ˇ872 Cores liegt der theore-

tische Spitzenwert bei 316,621 TFlop/s. Das Leistungsvermögen bieten 256 Cores der 64 Xeon E3-1230L v3, unterstützt von je vier Phi-Prozessoren mit je 61 Kernen. Der gesamte Arbeitsspeicher ist 5120 GByte groß. Als Clusternetz dient InfiniBand. Der Supercomputer läuft unter dem Linux-Betriebssystem CentOS. Die Stromaufnahme liegt bei 78 kW. Damit bekleidet QPACEˇ2 Platz 26 in den Green500 und Rang 379 in den TOP500. Das italienische Unternehmen Eurotech betreibt den Rechner. Geliefert hatte es ihn im Juli 2015. Das Vorgängermodell, der Forschungsrechner QPACE, erreichte bereits eine hohe Energieeffizienz. In der Juni-Liste 2010 der Green500 belegte er

mit 773,38 MFlop/s pro Watt Rang eins und war in Jülich, Regensburg und Wuppertal in Betrieb. Die gesamte Energieaufnahme eines Systems lag bei 57,54 kW. (rh)

Soziale Medien im Katastrophenschutz An der Universität Paderborn untersuchen Forscher die Auswirkungen von sozialen Netzwerken in Katastrophenszenarien. Aktuell analysieren die zehn Partner im Projekt EmerGent (Emergency Management in Social Media Generation) Er-

fahrungen und Reaktionen der Bürger auf den Einsatz sozialer Medien bei Katastrophen. Sie planen, erste Ergebnisse im Herbst 2015 zu veröffentlichen. Für die Studien hat das Team neue PC-Werkzeuge und -Programme entwickelt, die Verfahren wie Data Mining nut-

Kurz notiert

CodePipeline und einen Service Catalog. Die Angebote richten sich vor allem an Entwickler.

Summit: Bei Amazons Web Services (AWS) gibt es eine Reihe von Neuheiten: Device Farm, API Gateway, CodeCommit,

Sichtbar: Actifio stellt mit Sky seine Technik zum Verwalten von Daten „Virtual Data Pipeline“ für Unternehmen über

zen, damit es die Mengen an Informationen untersuchen kann, die durch Kommunikation zwischen Bürgern und Notfalldiensten im Netz entstehen. Für das bis März 2017 geplante Projekt EmerGent hat die EU 3,3 Millionen Euro zur Verfügung gestellt. (rh) Amazons Web Services (AWS) zur Verfügung. Sie kommen: Aus der Cloud beziehen Roboter ihre Befehle mit FIWARE, einer offenen Software, gefördert von der Europäischen Kommission.

iX 9/2015

Alle Links: www.ix.de/ix1509029


MARKT + TRENDS | OPEN SOURCE

Softwarequalität legt 2014 zu

Fehlerdichte

Aufpoliert

Codezeilen (Mio.) durchschnittliche Fehlerdichte dito nach OWASP Top 10

In einem ausführlichen Bericht haben die Analysten von Coverty Scan Informationen zur Entwicklung der Softwarequalität zusammengefasst. Sowohl freie als auch kommerzielle Projekte konnten sich hier im vergangenen Jahr verbessern. stellen – zusammengefasst als Fehler („Defects“) – und damit rund eineinhalbmal so viele wie in der gesamten Zeit seit 2006 zusammen. Hier trägt wohl auch die von Coverty Scan schon länger vertretene „No New Defects Policy“ Früchte: Zum einen lassen sich Fehler in frischem Code meist leichter beheben, da der bei den Entwicklern noch präsent ist, und zum anderen spekuliert man so

Linux: bestehende und behobene Fehler 10 000

bestehende Fehler

7500 5000

behobene Fehler

2500 0

Jul 2013

Okt 2013

Jan 2013

Apr 2014

Jul 2014

Okt 2014

Jan 2015

Apr 2015

Dank „No New Defects Policy“ steigt die Zahl der behobenen Fehler bei zugleich weitgehend stagnierender Zahl weniger kritischer „Altlasten“.

Geändertes Konferenzkonzept

Alle Links: www.ix.de/ix1509030

Für das im Februar 2016 an der Uni Köln geplante Frühjahrsfachgespräch der GUUG sucht das Programmkomitee um Dirk Wetter nach spannenden Vorträgen und Tutorien. Statt allgemein nach administratortauglichen Beiträgen zu suchen, wird es erstmals drei thematische

Schwerpunkte geben: Cloud, Monitoring/Systemautomatisierung und Netze/IT-Sicherheit. Geblieben ist der Wunsch nach Praxisrelevanz und -bezug. Per Call for Presentations beziehungsweise Call for Tutorials kann man bis Mitte Oktober Vorschläge einreichen. (avr)

Kurz notiert

Objekte, die sich mit Standardbefehlen bearbeiten lassen.

Zweckentfremdet: Mit der Erweiterung EXWM (Emacs X Window Manager) lässt sich der freie Editor zum Window-Manager umfunktionieren. Dabei behandelt das Programm die jeweiligen Programmfenster wie andere Textdateien als Buffer-

Freigabe: Canonical hat große Teile seines 2014 beendeten Cloud-Speicherdienstes Ubuntu One unter der AGPLv3 veröffentlicht. Dem im Launchpad stehenden Quellcode fehlen nur die Funktionen zum Streaming von Musik, der Code der Webseite sowie einige REST-APIs.

30

Quelle: Coverty Scan Open Source Report 2014

A

ls Basis des jetzt veröffentlichten Coverty Scan Open Source Report 2014 dienten etwa 11ˇ400 der aktivsten vom gleichnamigen Dienst betreuten kommerziellen und freien Projekte. Coverty analysierte dafür rund 9,6 Milliarden Zeilen C-, C++-, C#- und Java-Quellcode. In der Summe behoben die Entwickler im Jahr 2014 fast 152ˇ000 offensichtliche Bugs und (potenzielle) Schwach-

Open Source 2014 500

kommerziell 2014 9100

Open Source 2013 260

kommerziell 2013 700

0,61

0,76

0,66

0,77

8,61

0,56

darauf, dass der eine oder andere weniger kritische Altfehler sich durch Codeaktualisierungen über kurz oder lang quasi verflüchtigt. Normiert nach Fehlerdichte (Anzahl der Defects pro 1000 Codezeilen) hat sowohl freie als auch kommerzielle Software 2014 in Sachen Codequalität Fortschritte gemacht. Wie die Tabelle zeigt, haben OpenSource-Programme hier die Nase vorn. Anders sieht das allerdings in Sachen Sicherheit bei Webanwendungen für Unternehmen aus. Filtert man nach den OWASP Top 10, einer vom Open Web Application Security Project erstellten Liste der schlimmsten Sicherheitslücken für Webanwendungen, dreht sich das Verhältnis (je 100ˇ000 LoC) deutlich zugunsten kommerzieller Anwendungen. Auch beim Beheben kritischer Fehler bescheinigt Coverty den kommerziellen Entwicklern eine höhere Geschwindigkeit. Hier scheinen diverse Compliance-

Vorschriften für Unternehmen Wirkung zu zeigen. Schon seit 2006 nutzen die Linux-Kernel-Entwickler den Dienst von Coverty Scan. Wie Abbildungˇ1 zeigt, hat es zwar etwas gedauert, bis sich positive Aspekte zeigten, aber seit 2012 sinkt die Zahl der neu erkannten Fehler stetig. Der 2006 in Kooperation mit dem US-Ministerium für Innere Sicherheit (DHS – Department of Homeland Security) und seit letztem Jahr von der Synopsis Inc. betriebene Dienst analysiert den Quellcode auf Fehler und andere potenzielle Schwachstellen. Für Open-Source-Entwickler ist der Service kostenlos, zu den rund 5100 Programmen gehören neben Projekten wie CloudStack, FreeRADIUS oder OpenSSH auch Schwergewichte wie FreeBSD, Linux, LibreOffice oder NetBSD. Nach einer Registrierung bietet Coverty das PDF des Reports kostenlos zum Download an (siehe „Alle Links“ im blauen Kasten). (avr)

Docker 1.8 ist fertig In der aktuellen Docker-Version haben die Entwickler neben den obligatorischen Bugfixes dem Kommandozeilen-Interface, diversen Plug-ins sowie der Laufzeitumgebung Änderungen angedeihen lassen. So kann man nach dem Update Repositories mit Namen versehen, die lediglich aus einem Buchstaben bestehen, Trusted Pull, Push und Build sind standardmäßig deaktiviert. Darüber hinaus sollten Nutzer die Images gerade verwendeter Container nicht mehr löschen können. Weiter erlaubt Docker 1.8 TLS-Verbindungen zu Plug-ins. Derweil verschafften die Entwickler der Laufzeitumgebung neue Logging-Treiber, mit denen sich nun zum Beispiel Dateien per docker cp vom Host in den Container kopieren

lassen. Die Treiber für Laufwerke haben ihren bislang experimentellen Status verlassen und sind nun Master-Features. Auf der Kommandozeile kann man sich via docker inspect mehr Mount-Informationen anzeigen lassen, und das neue Flag --type verfügt über eine Option, das Verzeichnis mit der Konfigurationsdatei anzugeben. Der Aufruf docker daemon ersetzt den bisherigen docker –d. Im Zuge der Veröffentlichung der Version 1.8 haben die Entwickler des Tools mit Docker Content Trust einen neuen Sicherheitsmechanismus vorgestellt. Anwender können darüber ihre Images signieren und Clients die heruntergeladen Docker-Images entsprechend verifizieren. (avr) iX 9/2015


MARKT + TRENDS | BETRIEBSSYSTEME

Microsoft will mit fertigem Windows 10 alle Nutzer erreichen Nach langem Testen ist es vollbracht: Microsoft hat Windows 10 offiziell für fertig und reif für den Endnutzer erklärt. Und dieses Mal wollten die Redmonder explizit auf selbige hören, denn von Anfang an konnten Anwender das neue System testen und sich bei Microsoft über Elemente beschweren, die ihnen nicht gefielen. So beschrieben die Entwickler den Prozess entsprechend als „Pizza bestellen für 1,5 Milliarden Menschen“. Dabei stellt sich folglich die Frage, ob es am Ende allen oder keinem schmeckt. Zunächst dürften Kritiker von Windows 8.x aufatmen, denn das vor zwanzig Jahren mit Ausgabe 95 geborene Startmenü feiert nach der kurzen Pause die Rückkehr an den gewohnten Platz. Weniger bekannt dürfte Veteranen jedoch der Aufbau vorkommen, denn die vielen Unterordner mit Programmen sind den meistgenutzten Anwendungen sowie einigen internen Funktionen wie den Einstellungen gewichen. Jedoch lässt es sich schnell den eigenen Bedürfnissen anpassen, zum Beispiel um die persönlichen Verzeichnisse hier zu verknüpfen. Die rechte Seite des Menüs beherbergt hingegen die größeren Neuerungen. Hier finden sich die Kacheln des StartBildschirms aus Windows 8.x wieder. Diese Apps laufen nun in einem Fenster und nicht zwangsweise im Vollbildmodus. Rechts des Startmenüs haben die Entwickler Cortana integriert – die digitale Assistentin ähnelt Apples Siri oder Googles Now, Befehle lassen sich per Spracheingabe vornehmen. Jedoch muss sich erst zeigen, in wie vielen Büros die Angestellten anfangen mit ihren Rechnern zu reden. Praktisch ist hingegen die Sammelstelle für Systemmitteilungen. Hier können Nutzer außerdem schnell auf wichtige Einstellungen wie die Helligkeit des Displays, das Aktivieren des WLANs oder den Flugmodus zugreifen. Wer zudem ein Convertible wie ein Surface verwendet, dürfte sich über Continuum freuen. So schaltet das System nach Bedarf automatisch in den Tablet-Modus, iX 9/2015

der Fenster maximiert und das Startmenü in den Start-Screen des Vorgängers verwandelt. Für Ärger unter Administratoren dürften die zwangsweisen Updates des Systems in der Home-Edition sorgen. In den professionellen Varianten lassen sich die Aktualisierungen jedoch um ein paar Monate verzögern. Großkunden können

optional auf eine Variante zurückgreifen, die ausschließlich die nötigen Sicherheitsupdates erhält. Zum Start hatte dieses Vorgehen Microsofts bereits zu Ärger geführt, denn das System verteilte automatisch neuere, aber qualitativ schlechtere Grafikkartentreiber. Insgesamt zeigt sich Windows 10 von der stabilen Seite,

doch viele Neuerungen – allen voran die Assistentin Cortana – eignen sich kaum für einen Desktop im Büro, hier wären mehr Optionen zum Anpassen der Umgebung immer sinnvoll. Wenn die Anwender noch Ausgabeˇ7 gewohnt sind, dürften sie mit dem Umstieg jedoch weniger Schwierigkeiten haben als noch mit Windows 8.x. (fo)


MARKT + TRENDS | RECHT

Verwertungsgesellschaften kooperieren

Platzierung der Widerrufsbelehrung Onlinehändler müssen ihren Kunden beim Vertragsabschluss aufgrund gesetzlicher Vorgaben einige Informationen zukommen lassen. Hierzu zählt auch eine ordnungsgemäße Widerrufsbelehrung. Über die Frage, wann eine solche ordnungsgemäß ist, wird regelmäßig vor Gericht gestritten. Jüngst musste das Oberlandesgericht Köln (Az. 6 U 137/14) entscheiden, ob es noch „rechtzeitig“ ist, wenn die Belehrung unterhalb des Bestellbuttons zu finden ist. Für die Richter war klar, dass die gesetzliche Regelung darauf

Die Gesellschaft für musikalische Aufführungs- und mechanische Vervielfältigungsrechte, kurz GEMA, nimmt als Verwertungsgesellschaft die Nutzungsrechte von Komponisten, Textern und Verlegern von Musikwerken wahr, wenn sie sich ihr anschließen – allerdings nur im eigenen Land. Aus diesem Grund hat die GEMA nun einen

abzielt, dass dem Kunden diese Informationen vor dem Abschicken seiner Bestellung zur Kenntnis gelangen. Die Richter verlangen aber nicht, dass der entsprechende Text über dem Bestellbutton angezeigt wird. Für sie bedeutet die Pflicht, den Kunden „vorher“ zu belehren, nicht zwingend „räumlich vorher“, sondern eher „zeitlich vorher“. Solange der „räumliche Zusammenhang“ zwischen Bestellbutton sowie Belehrung gewahrt bleibt und beide gleichzeitig zu sehen sind, ist die Gestaltung der Webseite aus juristischer Sicht in Ordnung. (ur)

Hinweis auf AdSense-Einsatz Google hat eine neue „Richtlinie zur Einwilligung der Nutzer in der EU“ herausgebracht. Sie gibt Verwendern des Werbeprogramms AdSense vor, welche Informationen über die Verarbeitung personenbezogener Da-

Alle Links: www.ix.de/ix1509032

Kurz notiert Domain-Hijacking: Mehrere Verfahren wegen Reverse Domain Name Hijacking vor dem internationalen DomainSchiedsgericht UDRP verdeutlichten jüngst, dass ein solches Vorgehen für den Antragsteller riskant ist. Der jeweilige Beschwerdeführer scheiterte mit seinem Versuch, den berechtigten Besitzer einer Domain des Domaingrabbings zu bezichtigen, und musste die erheblichen Kosten des Vorgehens tragen. Bitcoins: Vor dem Europäischen Gerichtshof ist ein Rechtsstreit über die Frage nach der Umsatzbesteuerung beim Umtausch

32

heberrechtsgesetz hergestellt wurden. So eindeutig der Fall aus Sicht des Arbeitgebers schien, so brisant ist er aus juristischer Sicht: In den beiden ersten Instanzen verlor der Arbeitgeber den Gerichtsprozess unter anderem wegen der Verletzung formaler Bestimmungen im Arbeitsrecht. Erst das Bundesarbeitsgericht bestätigte nun die Kündigung. Auch die Erlaubnis zur privaten Nutzung eines Dienstrechners gestatte nicht, diesen zur massenhaften Anfertigung von Privatkopien zu verwenden. (ur) von Bitcoins in normale Währungen anhängig. Nun hat sich die EU-Generalanwältin dafür ausgesprochen, für solche Transaktionen eine Steuerbefreiung anzuerkennen und die Gegenargumente der deutschen Bundesregierung zurückzuweisen. Datenschutzreform: Der EUDatenschutzbeauftragte hat eine App veröffentlicht, mit der Interessierte die derzeit diskutierten Änderungen an der EUDatenschutz-Grundverordnung verfolgen können. Sie liefert weitere Hinweise des Datenschutzbeauftragten zu einzelnen Regelungen und kann verschiedene Textvorschläge der Regulierung miteinander vergleichen (zu finden über „Alle Links“).

ten diese den Nutzern zur Verfügung stellen müssen, und verlangt das Einholen einer Nutzereinwilligung. Ausdrücklich vorgeschrieben sind auch „umfassende Informationen“ über den Einsatz von Cookies. (ur)

Abschied vom harten DRM

Alle Meldungen auf dieser Seite: Tobias Haar

Kündigung wegen Privatkopien Das Bundesarbeitsgericht in Erfurt (Az. 2 AZR 85/15) hat die fristlose Kündigung eines Arbeitnehmers bestätigt, der an seinem Arbeitsplatz DVDs und CDs kopiert hatte. Im konkreten Fall hatte dieser mit seinem Dienstrechner über 1000 DVDs bearbeitet, kopiert und Etiketten dafür auf dienstlichen Farbdruckern hergestellt. Zudem befanden sich insgesamt 6400 E-Book-, Bild-, Audio- und Videodateien auf seinem Rechner. Für die Richter spielte es überraschenderweise keine Rolle, ob die Kopien rechtmäßig oder mit Verstoß gegen das Ur-

Kooperationsvertrag mit ihren Schwestergesellschaften PRS aus Großbritannien und STIM aus Schweden geschlossen. Sie gründen das erste Lizenz- und Verarbeitungszentrum für den digitalen Musikmarkt. Damit sollen solche Dienste einfacher auf Musikstücke zugreifen und Rechteinhaber leichter abrechnen können. (ur)

Nach einigen Konkurrenten hat sich auch die Holtzbrinck-Verlagsgruppe dazu entschlossen, E-Books künftig nur noch mit einem weichen Kopierschutz in Gestalt eines digitalen Wasserzeichens auszuliefern. Diesen Schritt begründete der kaufmännische Leiter des RowohltVerlags Peter Kraus vom Cleff damit, dass ein Wasserzeichen genauso effektiv sei wie ein hartes Digital Rights Management (DRM). Bei Wasserzeichen werden E-Books mit den Daten des Nutzers versehen und lassen so eine Zuordnung zu. Hinter der Umstellung dürfVorratsdatenspeicherung: Nach etlichen EU-Staaten wurde jüngst auch in Großbritannien die geltende Gesetzeslage zur Vorratsdatenspeicherung für rechtswidrig erklärt: Der High Court geht von einem Verstoß gegen EU-Recht aus, da die Regelungen zum Datenzugriff zu unklar und schwammig seien. Recht auf Vergessen: Basierend auf Gerichtsentscheidungen in der EU hat die französische Datenschutzbehörde CNIL Google dazu aufgefordert, das sogenannte „Recht auf Vergessen“ weltweit umzusetzen. Der Suchmaschinenbetreiber wies dieses Ansinnen nun mit der Begründung zurück, dass es hierfür „global kein Gesetz“ gebe.

te auch stehen, dass das von Verlagen vielfach verwendete DRM von Adobe den Nutzer bei der Handhabung seines Lesegerätes mehr behindert, als das beim Kopierschutz von Amazon auf den Kindle-Geräten der Fall ist. Setzt man einen weichen Kopierschutz ein, lassen sich überdies die elektronischen Bücher in verschiedene Formate konvertieren und auf allen Geräten – auch dem Kindle – lesen. Kurz vor Redaktionsschluss gab auch Random House, die größte Verlagsgruppe, den künftigen Verzicht auf hartes DRM bekannt. (ur) Facebook-Likes: Wenn ein Unternehmen Geld dafür zahlt, dass Facebook-Nutzer seine Produkte oder Webseiten mittels Like-Button bewerten, ist das irreführend und damit wettbewerbswidrig. Das Landgericht Stuttgart (Az. 37 O 34/14 KfH) sah das jedenfalls in einem Fall, in dem ein Unternehmer in seiner Werbung auf solche Likes hinwies. E-Billing: Eine kostenlose Broschüre zur elektronischen Rechnungsabwicklung hat der eBusiness-Lotse Ostbayern veröffentlicht („Alle Links“). Sie bietet vor allem kleinen und mittleren Unternehmen einen Einstieg in das Thema und informiert über technische, organisatorische sowie rechtliche Aspekte.

iX 9/2015


MARKT + TRENDS | EMBEDDED COMPUTING

meras liefern können. Ein Ansatzpunkt dafür ist die Kommunikation von Fahrzeugen untereinander, um Informationen über das Umfeld zu erhalten. Zu den Projektmitgliedern gehören Opel, Audi, BMW und Daimler, Zulieferer und Universitäten. Die Koordination übernimmt Continental. Das BMWi stellt ein Budget von 36,3 Millionen Euro zur Verfügung. (js)

Im Projekt IMMI (Intelligentes Mensch-Maschine-Interface) haben zwei Forschungsinstitute neue Einsatzfelder für Brain-Computer-Interfaces (BCI) entwickelt. Im Unterschied zu klassischen BCISystemen werden die mittels Elektroenzephalografie (EEG) aufgezeichneten Hirnströme nicht zur Steuerung benutzt, sondern beobachtet. Veränderungen der Gehirnaktivitäten interpretiert das System und kann so feststellen, ob der Nutzer Informationen verarbeitet hat, welche Absichten er verfolgt oder ob er kognitiv überfordert ist. Zusätzlich zum EEG messen die Forscher die Muskelaktivität via Elektromyografie (EMG) und setzen auf EyeTracking. So können sie die Absicht und Belastung des Nutzers präzise einschätzen. Ziel ist, den Menschen vorausschauend in kritischen Situationen zu unterstützen, zum Beispiel mit Warnmeldungen oder durch Entlastung. Technisch komprimiert das System eine hohe Rechenleistung auf kleinem Raum, indem eine handelsübliche CPU mit einem FPGA (Field Pro-

Schneller testen mit AutomationDesk 5.0 Schnittstelle zwischen TestHard- und Software vereinheitlicht. Dadurch können Anwender das Programm für automatisierte Tests in allen Phasen der Softwareentwicklung einsetzen. AutomationDesk 5.0 soll auch für den Test sicherheitskritischer Funktionen für die Automotive Safety Integrity Level (ASIL) von A bis D nach der Norm ISO 26262 geeignet sein. (js)

Kurz notiert

gen Technologie- und Serviceprovider.

Fallbeispiele für Industrie 4.0 und IoT: Pierre Audoin Consultants (PAC) hat über 100 Projekte für Industrie 4.0 und das Internet der Dinge geprüft, bewertet und in einem „Innovation Register“ zusammengestellt. Zusätzlich gibt es ein Verzeichnis mit zurzeit 200 der im Bereich Industrie 4.0 und IoT täti-

Whitepaper Industrie 4.0: Bosch Software Innovations informiert in dem Whitepaper „Industrie 4.0: Von der Vision in die Praxis“ über die Implementierung von Software in der vernetzten Fabrik und gibt Maschinen- und Komponentenherstellern konkrete Handlungsempfehlungen. Download siehe „Alle Links“.

iX 9/2015

Konzepte für das automatisierte Fahren Alle Meldungen: Barbara Lange

dSPACE hat Versionˇ5.0 ihrer Testautomatisierungssoftware AutomationDesk herausgebracht. Neu ist unter anderem die signalbasierte Testbeschreibung. Außerdem können Anwender nun virtuelle Fahrmanöver automatisch in die 3D-Animationssoftware MotionDesk einspielen, was Tests von kamerabasierten Fahrerassistenzsystemen erleichtern soll. Das System entspricht dem ASAM-XIL-Standard, der die

grammable Gate Array) auf einer 7ˇxˇ10 cm großen Elektronikplatine kombiniert ist. Für die Verarbeitung großer Datenmengen wurde die OpenSource-Software pySPACE sowie reSPACE erstellt. Diese Programme erlauben eine parallele Ausführung komplexer Vergleiche. Embedded Brain Reading soll in vielen Anwendungsbereichen möglich werden: im Weltall, in der Produktionshalle oder bei der Rehabilitation von Schlaganfallpatienten. Beteiligt am jetzt nach fünf Jahren abgeschlossenen Projekt waren Wissenschaftler vom Robotics Innovation Center des Deutschen Forschungszentrums für Künstliche Intelligenz (DFKI) und der Arbeitsgruppe Robotik der Universität Bremen. (js)

Wer eine Projektidee für das automatisierte Fahren hat, kann sie noch bis zum 30. September 2015 beim TÜV Rheinland im Rahmen des Programms „Neue Fahrzeug- und Systemtechnologien“ einreichen. Das Bundeswirtschaftsministerium (BMWi) stellt hierfür jährlich

circa 50 Millionen Euro Fördermittel bereit. Bewerben können sich Unternehmen aus der Fahrzeug- und Zulieferindustrie sowie der Verkehrsbranche, Forschungseinrichtungen, Hochschulen und Universitäten. Weitere Informationen: www.tuvpt.de. (js)

33

Alle Links: www.ix.de/ix1509033

Beim BMWi-Forschungsprojekt „Ko-HAF – Kooperatives hochautomatisiertes Fahren“ geht es um automatisierte Systeme bei hohen Geschwindigkeiten und in komplexen Situationen. Zum Beispiel braucht ein Fahrer für die Wiederübernahme des Fahrzeugs 10 Sekunden, die das System überbrücken muss. Dafür benötigt es mehr Informationen, als die bordeigenen Sensoren und Ka-

Stressabbau dank Embedded Brain Reading Quelle: DFKI

Hochautomatisiertes Fahren


MARKT + TRENDS | HARDWARE/OFFICE

Linux-Mainframes von IBM

Quelle: IBM

Bei IBM denken viele Nutzer nur noch an die von Lenovo übernommenen ThinkPads oder die x86-Server-Reihe. Doch abseits des PC-Geschäfts arbeitet der Konzern weiter an seinen Großrechnern. Nun erscheinen zwei neue Mainframes, auf denen ausschließlich Linux als Basisbetriebssystem läuft. In bester Tux-Tradition erhalten die Systeme Pinguin-Namen – Emperor (Kaiserpinguin) und der kleinere Rockhopper (Felsenpinguin). Mit LinuxOne erhält auch die gesamte Linux-MainframeStrategie einen neuen Namen, IBM fasst unter der Bezeichnung Hard- und Software sowie Dienstleistungen zusammen. Als Anwendungen stellt der Konzern einige OpenSource-Projekte zur Verfügung, darunter Apache Spark, Node.js, MongoDB, MariaDB,

PostgreSQL und Chef. Die beliebte Container-Umgebung Docker oder das Verwalten einer Cloud per OpenStack beherrschen die Systeme ebenfalls. Canonical will zudem Ubuntu für Systemˇz und LinuxOne bereitstellen. Unter der Haube basiert Emperor auf dem schon im Januar 2015 vorgestellten z13, bis zu 8000 virtuelle Maschinen soll das System stemmen können. Rockhopper beruht auf dem Vorgänger zEC12. Hier setzt IBM statt z/VM ein Linux mit KVM als Hypervisor ein. Zur gesamten neuen LinuxOne-Plattform hat IBM eine Website eingerichtet (siehe „Alle Links“). Beim Bezahlen mit einem Pay-for-Use-Modell (Bezahlen nach Nutzung) können Unternehmen zwischen einer monatlichen oder vierteljährlichen Basisrate wählen. Eine Einmalzahlung im Voraus ist hingegen nicht vorgesehen. Jedoch fallen je nach Einsatz weitere Kosten an. Insgesamt soll das kleinere Modell Rockhopper auf einen Einstiegspreis von 100ˇ000 USDollar kommen. Mit Linux auf dem Mainframe dürfte IBM auch LinuxFachkräfte im Blick haben, denn traditionelle Großrechner erfordern eine langwierige Spezialausbildung. Ohne den Zwang zu solchen Experten einer altgedienten Architektur könnte der Konzern neue Kunden für diese Serverklasse gewinnen. (fo)

Neues iPhone erwartet

Alle Links: www.ix.de/ix1509034

Laut Zulieferer-Berichten zum kommenden iPhone 6s haben die Designer nach dem „Bendgate“ vor allem das Gehäuse an der Seite deutlich verstärkt. Viele Beobachter erwarten die Integration von Force Touch, das ähnlich zur Watch verschie-

dene Druckstufen auf dem Display zulässt. Die Bildschirmgröße entspricht den älteren Brüdern, eine kleinere Ausgabe mit 4-Zoll-Diagonale ist wohl nicht geplant. Mehr RAM und ein schnellerer Prozessor dürften jeden Nutzer erfreuen. (fo)

Modulares Smartphone verschoben Mit dem Projekt Ara will Google ein modulares Smartphone erschaffen. Nach dem Umstrukturieren des Konzerns verschiebt sich das Pilotprogramm jedoch, das für die zweite Jahreshälfte 2015 geplant war. Nutzer sollen Module in zehn 34

Kategorien sowie verschiedene Endoskelette wählen können. Auch der weltweite Marktstart war noch für dieses Jahr geplant. Gleichzeitig betonen die Entwickler allerdings, dass das Projekt damit nicht tot sei. (fo)

LibreOffice 5 freigegeben Mit Ausgabe 5.0 bringt die Document Foundation ihre Sammlung freier Büroprogramme LibreOffice auf den aktuellen Stand. Wie angekündigt erhält das Paket ein neues Icon-Set namens Breeze. Das Design ist deutlich flacher und verwendet weniger Farben. Die Dialoge haben die Entwickler ebenfalls überarbeitet, sodass sie weniger Platz auf dem Bildschirm wegnehmen. Wie immer bei einer OfficeUmgebung abseits des Hauses Microsoft werkeln die Programmierer an den Importund Export-Filtern. Neu in Version 5.0 ist die Unterstützung von Pages- und Numbers-Dateien vom Mac. Schon in Ausgabe 4.2 hatte LibreOffice Keynote aufgenommen, das die Entwickler nun zusammen mit den Filtern der aktuellen MSReihe aktualisiert haben. An der Autokorrektur, die mittler-

weile zusätzliche Kürzel für Emojis unterstützt, hat das Team ebenfalls geschraubt. Das sind Ideogramme, die durch Messenger und Chats immer mehr Popularität gewinnen. Dabei genügt es, ein bekanntes Kürzel einzugeben, das Programm wandelt den Text anschließend selbst um. Die Seitenleiste soll Nutzern das Auswählen von Formatvorlagen erleichtern. Grafiken bieten hier eine Vorschau. In Textdokumenten, Tabellen und Präsentationen lassen sich Bilder nun direkt zuschneiden. Weitere Neuerungen finden sich in den Release Notes (siehe „Alle Links“). LibreOffice 5.0 steht für Rechner mit Linux, Windows und Mac OSˇX zur Verfügung. Professionellen Nutzern empfehlen die Entwickler jedoch, mit dem Upgrade noch auf das erste Update zu warten. (fo)

The Bat! 7 erschienen Ritlabs hat seinen E-MailClient The Bat! in Versionˇ7 vorgelegt. Das Windows-Programm integriert nun das EWSProtokoll (Exchange Web Service), womit der Zwang zu externen Applikationen wie mit

dem MAPI (Messaging Application Programming Interface) entfällt. Neu ist auch die Unterstützung von CardDAV, mit dem sich Adressbücher auf Servern speichern und freigeben lassen. (fo)

Microsoft veröffentlicht Sway und Docs.com Mit Sway entwickelt Microsoft eine Präsentationssoftware, die zum Ziel hat, Dokumente auf unterschiedlichen Endgeräten wie Desktop, Tablet oder Smartphone gut aussehen zu lassen. Das Programm passt dabei den Inhalt an das Format an. Außerdem lassen sich Quellen wie Videos und Bilder aus dem Internet direkt einbinden. Nun haben die Redmonder die seit zehn Monaten laufende Preview-Phase abgeschlossen. Passend zum Start von Windows 10 (siehe Seite 31) hat Microsoft eine kostenlose AppVariante freigegeben. Im Gegensatz zur Webapplikation erlaubt sie das lokale Speichern von Dokumenten und setzt somit keine konstante Verbindung zum Internet voraus. Einzig auf Elemente wie interaktive Karten oder Streaming-Videos muss der Anwender in diesem Fall verzichten. Während der

Testphase hatten einige Nutzer ein Layout zum besseren Kontrollieren des Timings von unterschiedlichen Elementen nachgefragt, das die Designer nun integriert haben. Sway lässt sich mit einem Microsoft-Konto oder per Office 365 nutzen. Außerdem haben die Redmonder eine neue Plattform zum Teilen von Dokumenten gestartet. In Abgrenzung zum hauseigenen OneDrive oder Googles Drive ist Docs.com jedoch ausschließlich für Dokumente gedacht. Austauschen lassen sich Word-, Excel, Sway-, PowerPoint- oder PDFDateien, die Nutzer in Sammlungen zu bestimmten Themen zusammentragen können. Die Umgebung befindet sich noch in einer Betaphase und basiert technisch auf Docs for Facebook, ersetzt es jedoch nicht und ist nicht an ein soziales Netzwerk gebunden. (fo) iX 9/2015


MARKT + TRENDS | BERUF

Die Grundgehälter von Ingenieuren stiegen durchschnittlich um 3,2 Prozent. Unternehmen, die die Gehälter noch nicht erhöht haben, planen ein Plus von 2,3 Prozent. Zu diesem Ergebnis kommt die Managementberatung Kienbaum in ihrem Vergütungsreport „Führungskräfteˇ&ˇSpezialisten in

technischen Funktionen“, für die sie die Daten von rund 5888 Einzelpositionen in 463 Unternehmen untersucht hat. Führungskräfte erhalten durchschnittlich 106ˇ000 Euro, Spezialisten in technischen Funktionen 65ˇ000 Euro im Jahr. Auf Platz eins liegt der Vertriebsingenieur (84ˇ000 Eu-

ro), gefolgt vom Projektleiter in Forschung und Entwicklung (81ˇ000 Euro). Am Ende befinden sich die Logistik-Spezialisten mit durchschnittlich 48ˇ000 Euro. Führungskräfte mit mehr als 20 Jahren Berufserfahrung erhalten im Durchschnitt 118ˇ000 Euro, mit ein bis drei Jahren

nur 73ˇ000 Euro. Berufserfahrene Spezialisten verdienen 76ˇ000 Euro, Anfänger 45ˇ000 Euro. Wichtig ist zudem der Standort. So zahlen Unternehmen in Ballungsräumen wie München, Düsseldorf, Frankfurt und Köln am meisten. Der Vergütungsreport kostet 800 Euro (siehe „Alle Links“). (jd)

Nachfrage nach Fachkräften sinkt Im zweiten Quartal 2015 sank der Bedarf an Fachkräften, vor allem bei IT-Spezialisten (-7 Prozentpunkte), Ingenieuren (-11) sowie Vertriebs- und Marketingmanagern (-10). Das hat die Personalberatung Hays ermittelt. Vor allem für Anwendungsentwickler und SAP-Berater hat sich die Situation verschlechtert. Über alle Berufsbilder hinweg liegt die Anzahl der Stellenangebote für IT-Spezialisten jedoch weiterhin auf dem ersten Platz. Im Engineering gab es für Konstrukteure und Qualitätsmanager weniger Angebote. Die Nachfrage von Ingenieurbüros hat sich im Vergleich zum ersten Quartal fast halbiert. Der Rückgang lässt sich vor allem auf die instabile politische und wirtschaftliche Lage in wichtigen Absatzmärkten zurückführen. (jd)

Alle Meldungen: Barbara Lange

Agil im Kommen Immer mehr Unternehmen setzen ihre Projekte mit agilen oder hybriden Methoden um, wie GULP unter 114 IT-Experten festgestellt hat. Demnach haben 2014 35 Prozent der Befragten ihr letztes Projekt agil oder mit einem hybriden Modell (32 Prozent) entwickelt, in der ersten Untersuchung zum Thema 2013 seien es 25 beziehungsweise 22 Prozent gewesen. Klassische Verfahren kamen noch bei 28 Prozent zum Einsatz, Tendenz stark abnehmend. Für agile und hybride Methoden sprachen sich 40 beziehungsweise 48 Prozent der Teilnehmer aus. Als vorteilhaft nannten sie bessere Kommunikation (71 Prozent), motiviertere Teammitglieder (69ˇ%) sowie das frühzeitige Erkennen von Fehlern (69ˇ%). (jd) iX 9/2015

35

Alle Links: www.ix.de/ix1509035

3,2 Prozent mehr Grundgehalt für Ingenieure


MARKT + TRENDS | WIRTSCHAFT

Rekordwerte in negativer Hinsicht präsentierte Microsoft zum Ende des Geschäftsjahres 2015 (endete im Juni). Der US-Konzern wies mit 3,2 Mrd. Dollar den größten Quartalsverlust in der Unternehmensgeschichte aus. Grund für das dicke Minus war eine gigantische Abschreibung wegen des Nokia-Debakels (siehe iX 8/2015, S. 42), die 7,6 Mrd. Dollar der mit insgesamt 8,4 Mrd. Dollar verbuchten Sonderlasten ausmachte. Die Einnahmen im Quartal sanken im Vergleich zum Vorjahreszeitraum um 5ˇ% auf 22,2 Mrd. Dollar. Mit Blick auf das gesamte Geschäftsjahr fiel der Umsatz mit 93,6 Mrd. Dollar (+6,8ˇ%) zwar noch recht ordentlich aus. Der Ge-

winn lag allerdings mit 12,2 Mrd. Dollar rund 10 Mrd. Dollar unter dem Vorjahresergebnis. Zu den Quartalseinnahmen steuerten Geräte und Software für Verbraucher (Devices and Consumer, D&C) 8,7 Mrd. Dollar (-13ˇ%) bei. Dabei brachen die Lizenzumsätze um über ein Drittel auf 3,2 Mrd. Dollar weg. Die Ursache lag unter anderem in einem 22prozentigen Rückgang bei OEM-Betriebssystemversionen

Sparte D&C-Lizenzen Computing and Gaming Hardware Phone Hardware übrige D&C (Werbung, Minecraft etc.) kommerzielle Lizenzen Cloud übrige Geschäfte Gesamtumsatz Gewinn

Q4/2015 3,233 1,933

Q4/2014 4,903 1,342

2015 14,969 10,183

2014 19,528 9,093

1,234 2,300

1,982 1,762

7,524 8,825

1,982 7,014

10,451 3,076 -0,047 22,180 -3,195

11,233 2,262 -0,102 23,382 4,612

41,039 10,836 0,204 93,580 12,193

42,085 7,546 -0,415 86,833 22,074

Mehr Unternehmen wollen in IT-Sicherheit investieren Der Umsatz mit Software und Services für IT-Sicherheit wird hierzulande im laufenden Jahr um 6,5ˇ% auf 3,7 Mrd. Euro zulegen, schätzt der BITKOM auf Grundlage von Prognosen der Marktforschungsfirma IDC. Gut drei Viertel (78ˇ%) der Einnahmen entfallen auf Dienstleistungen wie Beratung, Implementierung und Wartung, knapp ein Viertel auf spezialisierte Anwendungen wie Endgerätesicherheit, Zugriffsverwaltung oder Netzwerksicherheit. Laut einer BITKOM-Umfrage verfügen Unternehmen bei der Absicherung ihrer ITSysteme derzeit lediglich über einen guten Basisschutz. Standard sind demnach Virenscanner, Firewalls sowie ein Passwortschutz für IT-Geräte. Beim Einsatz weiter reichender Schutzmaßnahmen sind die Unternehmen dage36

gen deutlich zurückhaltender. So verschlüsseln lediglich 45ˇ% ihre Daten und 40ˇ% ihren E-Mail-Verkehr. Systeme zum Verhindern von Datenabfluss (Data Leakage Prevention) nutzen 29ˇProzent, und gerade einmal 23ˇProzent verfügen über spezielle Angriffserkennungssysteme für Angriffe von außen (Intrusion Detection). Allerdings sollen viele Unternehmen laut BITKOM-Untersuchung inzwischen bereit sein, bald mehr in eine höhere IT-Sicherheit zu investieren. So planen 17ˇ%, eine Verschlüsselung der Daten einzuführen, 18ˇ% beabsichtigen, in naher Zukunft E-Mails zu verschlüsseln, und ebenfalls 18ˇ% stehen vor der Einführung eines Angriffserkennungssystems. Zudem wollen immerhin 7ˇ% verstärkt in Schutzmaßnahmen gegen Datenabfluss von innen investieren. (un)

Quelle: Microsoft 7/2015

Microsofts Bilanz (Mrd. US-$)

im Vorfeld der Windows10-Einführung. Recht erfreulich entwickelte sich dagegen der Surface-Absatz, der sich auf 888 Mio. Dollar verdoppelte. Im gesamten Geschäftsjahr lag der Umsatz mit Tablets bei rund 3,6 Mrd. Dollar (+65ˇ%). Die Einnahmen im XboxUmfeld entwickelten sich laut Microsoft im Quartal mit einem Plus von 27ˇ% gleichfalls erfreulich; mehr als 1,4 Mio. Konsolen (+30ˇ%) fanden einen Abnehmer. Bekanntlich weiterhin rückläufig entwickelten sich die Smartphone-Geschäfte. Mit 1,2 Mrd. Dollar fielen die Einnahmen (Lumia- und Nicht-Lumia-Geräte) deutlich geringer als im Vorjahr aus. Selbst ein Plus von 10ˇ% auf 8,4 Mio. bei den Stückzahlen führte aufgrund niedriger Gerätepreise im Lumia-Segment zu rückläufigen Erlösen. Mit Software und Services für Unternehmen (Commercial-Sparte) erzielte Microsoft im Schlussquartal mit 13,5 Mrd. Dollar etwa den Betrag des Vorjahres. Allerdings verschoben sich die Gewichte

Kurz notiert Lukrativ: Der Umsatz mit Smartphones soll laut BITKOM in Deutschland im laufenden Jahr um 7ˇ% auf voraussichtlich 9,1 Mrd. Euro zulegen. Ursprünglich lag die Prognose bei 8,8 Mrd. Euro. Kostspielig: Europäische IT-Manager sollten in ihren Budgetplanungen für Dollar-basierte Produkte einen Preisaufschlag von bis zu 20ˇ% einkalkulieren. Das empfiehlt Gartner angesichts der Wechselkursentwicklung. Verbessert: Der Netzwerkausstatter Juniper überraschte die Börsenanalysten mit guten Quartalszahlen. Das Unternehmen erzielte im zweiten Jahresquartal rund 1,2 Mrd. Dollar Einnahmen (-1ˇ%) und 158 Mio. Dollar Gewinn (-28,5ˇ%). Vereint: Materna hat die auf E-Government-Beratung spezialisierte Infora aus Köln sowie

Quelle: Microsoft

Nokia wird für Microsoft zum Milliardenverlust

Nokia, der Hersteller der bunten Lumia-Telefone, hat Microsoft rote Zahlen eingebracht.

innerhalb des Geschäftsbereiches zugunsten des CloudAngebots, das um 88ˇ% zulegte. Aufs Jahr gesehen sollen die Umsätze mit Office 365, Azure und Dynamics CRM Online bereits bei 8ˇMrd. USDollar liegen. Im Lizenzgeschäft bewegen sich die Einnahmen mit Server-Produkten (+4ˇ%) und der betriebswirtschaftlichen Software Dynamics (+6ˇ%) gleichfalls auf Wachstumskurs. Die Erlöse mit Office-Produkten für Unternehmen (-4ˇ%) sowie die Windows-Volumenlizenzen (-8ˇ%) entwickelten sich dagegen rückläufig. (un) deren Hannoveraner Schwesterfirma Infora Management Consulting übernommen. Der Dortmunder IT-Dienstleister tritt bereits seit Jahren gemeinsam mit Infora als Veranstalter des Fachkongresses ÖV-Symposium NRW auf. Geschätzt: Das Geschäft mit ITK-Produkten und -Diensten wird laut EITO in den EUStaaten 2015 voraussichtlich um 0,9ˇ% auf 651 Mrd. Euro wachsen. Dabei soll der ITBereich um 2,1ˇ% auf 364 Mrd. Euro steigen, während die TK-Umsätze um 0,6ˇ% auf 287 Mrd. Euro sinken. Forsch: Das Karlsruher Institut für Technologie baut im Rahmen des Forschungshochleistungsrechners bis Ende 2015 einen HPC-Cluster mit über 1100 Rechenknoten auf Basis von Lenovos NeXtScale-Systemen. Für den Lieferanten transtec ist das mit 6,9 Mio. Euro der größte Einzelauftrag in der Firmengeschichte.

iX 9/2015



MARKT + TRENDS | WIRTSCHAFT

Konzern keine konkreten Zahlen heraus, sondern versteckte sie in der Kategorie „andere Produkte“. Immerhin stiegen die Einnahmen des Segments, zu dem auch Apple TV, iPod, Zubehör und die Beats-Electronics-Produkte zählen, um über 56ˇ% auf 2,64 Mrd. Dollar. Auch hier hatten die Analysten jedoch auf mehr Zuwachs durch die Uhrenverkäufe gehofft. Zusätzliche Missstimmung rief hervor, dass Apple die Umsatzprognose für das Schlussquartal des Geschäftsjahres mit 49 Mrd. bis 51 Mrd. Dollar gewohnt zurückhaltend ansetzte. Als Folge brach der Kurs der Apple-Papiere im nachbörslichen Handel um bis zu 8ˇ% ein. (un) Quelle: Apple

Im dritten Quartal im Geschäftsjahr 2015 (endete am 27. Juni) erzielte Apple einen Umsatz von 49,6 Mrd. Dollar (+32,5ˇ%) sowie einen NettoQuartalsgewinn von 10,7 Mrd. Dollar (+38ˇ%). Der US-amerikanische IT-Konzern hat damit die Erwartungen der Börsianer leicht übertroffen. Gleichwohl waren die Finanzanalysten unzufrieden. Denn Apple verkaufte „nur“ 47,5 Mio. iPhones (+35ˇ%) und nicht wie erhofft 49 Mio. Systeme. Der Mac-Absatz stieg im betrachteten Zeitraum um 9ˇ% auf 4,8 Mio. Rechner, während die Zahl der verkauften iPads mit 10,8 Mio. Stück (-18ˇ%) weiterhin stark rückläufig ist. Zur neuen Smartwatch rückte der

Software AG lässt Trendwende erkennen

Beim Ergebnis des neuen Geschäftsbereichs Uhren hält sich Apple noch bedeckt.

Mit dem Servergeschäft rettet Intel seine Bilanz

Kurz notiert Abgefahren: Audi, BMW und Daimler haben wie erwartet von Nokia den heiß begehrten Kartendienst Here übernommen. Der Kauf ist dem Konsortium 2,8 Mrd. Euro wert.

38

Mrd. Dollar ab. Dagegen entwickelten sich die Einnahmen der Data Center Group (Server-Prozessoren etc.) deutlich erfreulicher. Sie lagen im betrachteten Zeitraum mit 3,85 Mrd. Dollar 10ˇ% über dem Vorjahreswert. Das Geschäft mit Halbleitern für IoT-Systeme (Internet der Dinge) wuchs um knapp 4ˇ% auf 559 Mio. Dollar. Damit übertraf es knapp die Sparte Software and Services, die Einnahmen in Höhe von 534 Mio. Dollar (-3ˇ%) verbuchte. (un) Enttäuscht: Trotz leicht verbessertem Umsatz (10,7 Mrd. Dollar, +3ˇ%) verzeichnete Lenovo einen deutlichen Einbruch des Gewinns vor Steuern (52 Mio. Dollar, -80ˇ%) im ersten Quartal des Geschäftsjahres 2015/2016. Nun will der Konzern 3200 Arbeitsplätze streichen.

Der größte Geschäftsbereich, Digital Business Platform (DBP), unter dem die Software AG ihre Middleware und Integrationssoftware zusammenfasst, erreichte im zweiten Quartal Einnahmen von 99,8 Mio. Euro (+18ˇ%). Dabei erhöhten sich die Wartungserlöse um 21ˇ% auf 62,8 Mio. Euro und damit überproportional, während der Lizenzverkauf um 37,0 Mio. Euro und damit 13ˇ% über dem Vorjahreswert lag. Wie der Hersteller bekannt gab, hat sich das Segmentergebnis um 46ˇ% auf 19,4 Mio. Euro verbessert. Das traditionelle Datenbankgeschäft Adabasˇ& Natural wies im betrachteten Zeitraum gleichfalls ein kleines Umsatzplus um 4ˇ% auf 58,0 Mio. Euro auf. Hiervon entfielen 40,9 Mio. Euro (+7ˇ%) auf die Wartung und 16,5 Mio. Euro (-5ˇ%) auf Lizenzen. Das Segmentergebnis betrug 40,6 Mio. Euro (+7ˇ%). Die Consulting-Sparte lag im abgelaufenen Quartal mit einem Umsatz von 48,4 Mio. Euro um 13ˇ% unter den Vorjahreseinnahmen. Ohne das 2014 verkaufte SAPBeratungsgeschäft bleibt auch hier eine kleine Umsatzverbesserung. (un)

Bilanz der Software AG (Mio. Euro) Posten

Alle Wirtschaftsmeldungen: Achim Born

Chip-Krösus Intel musste im zweiten Quartal des Geschäftsjahres 2015 (endete am 27. Juni) Umsatzeinbußen um 5ˇ% auf 13,2 Mrd. Dollar hinnehmen. Ebenso lag der Gewinn mit 2,7 Mrd. Dollar (-3,2ˇ%) unter dem des Vorjahresquartals. Verantwortlich für den Einnahmerückgang war der Geschäftsbereich Client Computing Group. Der Umsatz dieser Sparte, die für das Geschäft mit PC-Prozessoren steht, sackte aufgrund des schwächelnden PC-Markts um 14ˇ% auf 7,5

Eine vergleichsweise erfreuliche Bilanz legte die Software AG nach Abschluss des zweiten Jahresquartals vor. In der Berichtsperiode nahmen die Darmstädter mit insgesamt 205,6 Mrd. Euro ein Zehntel mehr ein als im Vorjahr. Zudem gelang es dem ältesten deutschen Softwarehaus nach mehr als drei Jahren, den Gewinnschwund zu stoppen. Der Überschuss vor Zinsen und Steuern (EBIT) stieg um ein Drittel auf 33,2 (Mio. Euro, der Nettogewinn legte um 40ˇ% auf fast 20 Mio. Euro zu. Verantwortlich hierfür war zum einen, dass sich der im vergangenen Jahr erfolgte Verkauf der verlustträchtigen SAP-Consultingsparte im Wortsinne auszahlt. Zum anderen laufen die Geschäfte mit der Wartung prächtig. Nachdem man im ersten Jahresquartal hier die 100-Mio.-Euro-Marke knapp verpasste, nahm die AG nun erstmals in der Unternehmensgeschichte in einem Einzelquartal mit 103,6 Mio. Euro (+14ˇ% gegenüber dem Vorjahr) die Hürde. Gleichzeitig erhöhten sich die Lizenzumsätze um 7ˇ% auf insgesamt 53,5 Mio. Euro.

Gesamtumsatz Produktumsatz - Wartung - Lizenzen DBP - Wartung - Lizenzen Adabas & Natural - Wartung - Lizenzen Consulting EBIT* Nettoergebnis

Q2/2015

Änderung

205,6 157,1 103,6 53,5 99,8 62,8 37,0 58,0 40,9 16,5 48,4 33,2 19,9

+5ˇ% +11ˇ% +14ˇ% +7ˇ% +18ˇ% +21ˇ% +13ˇ% +4ˇ% +7ˇ% -5ˇ% -13ˇ% +33ˇ% +40ˇ%

1. Halbjahr 2015 399,7 303,4 203,4 100,1 190,8 122,7 68,1 112,6 80,7 32,0 96,0 62,5 38,6

Änderung -1ˇ% +5ˇ% +12ˇ% -7ˇ% +6ˇ% +19ˇ% -11ˇ% +6ˇ% +6ˇ% +4ˇ% -19ˇ% +13ˇ% +18ˇ%

* Konzernüberschuss + Ertragsteuern + sonstige Steuern + Finanzergebnis; einschließlich SAP-Beratung

Versagt: Alibaba steigerte im zweiten Jahresquartal den Umsatz um 28ˇ% auf 3,27 Mrd. Dollar. Der Wert der über die Plattform verkauften Waren stieg um 34ˇ% auf 109 Mrd. Dollar. Die Aktien des chinesischen Amazon-Konkurrenten fielen nach diesen Zahlen um fast 7ˇ%.

Privatisiert: Wie geplant wurde Informatica von Finanzinvestoren unter Führung von Permira und CPPIB von der Börse genommen. Zu den neuen Investoren des kalifornischen Spezialisten für Integrationssoftware zählen auch Microsoft und Salesforce.

iX 9/2015

Quelle: Software AG 07/2015 (ungeprüft)

Apple enttäuscht auf hohem Niveau



TITEL | CYBERVERSICHERUNGEN

Durch Internetkriminalität verursachte Schäden begrenzen

C

yberkriminelle entwenden oder manipulieren vertrauliche Daten, schleusen Schadsoftware in Netzwerke ein oder legen Produktionsanlagen lahm. Dass solche Angriffe bei den Betroffenen unter Umständen Schäden in Millionenhöhe verursachen, konnte man an Beispielen wie Sony Pictures, dem Deutschen Bundestag oder dem zerstörten Hochofen sehen, dessen Fall das Bundesamt für Sicherheit in der Informationstechnik (BSI) in seinem „Bericht zur Lage der IT-Sicherheit in Deutschland 2014“ dokumentierte. Und auch mittelbare Schäden wie der Missbrauch des eigenen Firmennamens für Betrugsmaschen oder zahlreiche andere Vorfälle können ein Unternehmen teuer zu stehen kommen.

Deutschland als fragwürdiger Spitzenreiter

Sicherheitshalber Thomas Fritzsche, Alexander Geschonneck Das Risiko für Unternehmen, Opfer eines Cyberangriffs zu werden, ist in den vergangenen Jahren stark gestiegen. Der Diebstahl von Kundendaten, Betriebsunterbrechungen oder Erpressungen können schnell zu Verlusten in Millionenhöhe führen. Welche Leistungen bieten Cyberversicherungen, wer kann sich versichern und was sollte man vor Abschluss einer Police unbedingt wissen? Ein Überblick. 40

Gemessen an der Wirtschaftsleistung sind diese Schäden nirgends so hoch wie in Deutschland, wie aus einer weltweiten Untersuchung des „Center for Strategic and International Studies“ hervorgeht (dieser und alle weiteren Links des Artikels sind über „Alle Links“ im blauen Kästchen zu finden). Das bestätigt auch die aktuelle E-Crime-Studie 2015 der Wirtschaftsprüfungsgesellschaft KPMG (Abbildungˇ1): 40ˇ% der befragten Unternehmen waren in den letzten zwei Jahren von Cyberkriminalität oder auch „E-Crime“ betroffen – Tendenz steigend. Das Risiko, dass deutsche Unternehmen Opfer von E-Crime werden, schätzen 98ˇ% der Studienteilnehmer als hoch oder sehr hoch ein („Alle Links“). Den Gesamtschaden durch E-Crime in den vergangenen zwei Jahren veranschlagt die KPMG mit circa 54 Milliarden Euro. Die bittere Erkenntnis: Ein vollständiger Schutz vor Cyberangriffen ist für technologieabhängige Unternehmen nicht erreichbar. Dennoch, so schätzen die Versicherer, sichern sich lediglich bis zu 10ˇ% der deutschen Unternehmen gegen das Risiko eines Cyberangriffs mit einer entsprechenden Versicherung ab. Wie sind diese Zahlen zu interpretieren? Eine Erklärung könnte sein, dass das Thema Cyberrisiken bei deutschen Unternehmenslenkern noch nicht vollständig angekommen ist. Immerhin hat ein Viertel der deutschen CEOs noch nie an einer Sitzung mit Führungskräften oder Vorstandskollegen zum Thema „Cyber Security“ teilgenommen. Das ist im weltweiten Vergleich der höchste Wert (Durchschnitt: 5ˇ%). Die Frage ist also: Kennen die Unternehmensführungen die Möglichkeiten iX 9/2015


Eine Branche im Aufwind Seit 2011, als die erste Cyberversicherungspolice auf den deutschen Markt kam, haben solche Angebote kontinuierlich zugenommen. Mittlerweile bieten 13 Versicherer ihre Cyberpolicen für Geschäftskunden in Deutschland an. Im Rahmen der für diese Marktübersicht durchgeführten Befragung von Versicherungsunternehmen haben von den 13 Versicherern neun Informationen zu ihren Versicherungsprodukten geschickt. Mehrere Unternehmen befinden sich aktuell in der Produktentwicklung und möchten daher noch keine konkreten Details preisgeben. Der Blick über die Ländergrenzen zeigt, dass Cyberversicherungen in den USA und in Großbritannien zu den Trendprodukten der Versicherungsbranche gehören.

Grundsätzlich kann eine Cyberversicherung ein großes Spektrum an Risiken von Standardangeboten bis hin zu Individuallösungen abbilden. Die Angebote unterscheiden sich im Umfang der abgesicherten und ausdrücklich ausgeschlossenen Risiken (siehe Tabelle „Versicherungsleistungen im Detail“). Sämtliche Anbieter übernehmen die Kosten für das Abwehren unberechtigter und das Begleichen berechtigter Schadensersatzansprüche Dritter sowie die Haftpflicht infolge von Hackerangriffen, Denial-of-ServiceAttacken, Datenschutzverletzungen oder nicht funktionierender digitaler Kommunikation. Ebenso verhält es sich mit dem Übernehmen der direkten Schäden durch Denial-of-Service-Attacken, der Kosten für die Aufrechterhaltung des Geschäftsbetriebs sowie der Verdienst- und Ertragsausfälle bei Betriebsstörungen. Gleichermaßen einheitlich ist die Regulierung von Schäden durch gefälschte, ausgespähte und abgefangene Daten, Computersabotage und das Erschleichen von Zugangsdaten. Dieser Aspekt der Deckung ist besonders hervorzuheben, da sich hieraus potenziell die Regulierung von Schäden zahlreicher Spielarten von Deliktstypen ergibt. Eine Ausnahme bildet beispielsweise die Sabotage von IT-Anlagen zur Steuerung von Maschinen und Anlagen. Einen daraus resultierenden Schaden würden nicht alle Versicherungsanbieter begleichen. Zudem würden nur wenige die Kosten für Ersatzleistungen, Reparaturen oder Neuanschaffungen erstatten. Fragen Sie also vor Abschluss einer Versicherung nach, was die Übernahme von Schäden durch Sabotage im Detail bedeutet. Bemerkenswert ist an dieser Stelle auch, dass der Missbrauch unternehmenseigener Computer durch Cyberkriminelle nicht von allen Versicherungsanbietern gedeckt ist. Wie verhält es sich aber, wenn dieser Missbrauch zum Ausspähen von

-TRACT ⚫ Obwohl laut einer aktuellen Umfrage viele Unternehmen die Bedrohung durch Cybervorfälle fürchten, hat nur ein geringer Teil von ihnen eine Cyberversicherung abgeschlossen. ⚫ Die Regelwerke der Versicherer definieren explizit abgedeckte sowie ausdrücklich ausgeschlossene Schadensfälle. Das Analysieren der eigenen Risiken für eine gegebenenfalls individuell zugeschnittene Cyberversicherung ist dennoch für Unternehmer unumgänglich. ⚫ Schulungsmaßnahmen und Sicherheitskonzepte sind für Unternehmen ratsam. Sie verringern das Risiko, dass ein Cybervorfall passiert, und wirken sich unter Umständen günstig auf die Versicherungstarife aus.

iX 9/2015

Quelle: CSIS-Studie, KPMG-Studie

von Cyberversicherungen? Eventuell fehlt der Dialog, um die Potenziale einer Versicherung auf die eigenen Cyberrisiken übertragen zu können – vorausgesetzt, diese sind im Unternehmen überhaupt bekannt. Vielleicht sehen Unternehmen die kumulierten Schadenssummen bei relevanten Cybervorfällen als viel zu hoch an, als dass diese kaufmännisch sinnvoll versichert werden könnten. Zumindest Konzerne kommen im Dialog mit den Versicherern bei Multimillionen-Euro-Schäden in Einzelfällen zu diesem Schluss. Eine durchschnittliche Gesamtschadenssumme von circa 370ˇ000 Euro mit Ermittlungs- und Folgekosten von rund 70ˇ000 Euro über verschiedene Deliktstypen hinweg spricht allerdings für ein breites Spektrum kaufmännisch sinnvoll versicherbarer Schäden. Insbesondere wenn man berücksichtigt, dass einige Deliktstypen 50 Mal und häufiger innerhalb von zwei Jahren auftreten, wie die genannte E-Crime-Studie belegt.

Nummer eins:

Gemessen an der Wirtschaftsleistung sind die Schäden von Cyberkriminalität in Deutschland weltweit am höchsten.

2015: 40 % betroffen von E-Crime

Das Risiko eines Cyberangriffs für deutsche Unternehmen ist hoch/ sehr hoch:

98 %

Nur 0 – 10 % der Unternehmen haben eine Cyberpolice.

70 %

der Unternehmen rechnen mit einem in den kommenden 2 Jahren steigenden Risiko, Opfer von E-Crime zu werden.

Die Studien der KPMG und des CFIS beleuchten das Sicherheitsgefühl in deutschen Unternehmen, das zwar der tatsächlichen Sicherheitslage entspricht, sich aber nicht in entsprechenden Vorsorgemaßnahmen niederschlägt (Abb.ˇ1).

Daten oder eben zur Sabotage genutzt wird? Wie ist diese Regelung in Bezug auf die widerrechtliche Nutzung eines Unternehmensservers zum Speichern und Streamen von (kinder-)pornografischem oder verfassungsrechtlich bedenklichem Material auszulegen? Hieraus können sich drastische strafrechtliche Konsequenzen sowie enorme Reputationsschäden ergeben. Gut, dass zumindest die Möglichkeit besteht, dass die Versicherer die Kosten der Rechtsverteidigung übernehmen. Potenzielle Reputationsschäden schließen einige Anbieter ausdrücklich aus oder verweisen auf entsprechende Zusatzprodukte. Die Kosten für das Wiederherstellen gestohlener, zerstörter, beschädigter oder blockierter Daten, Programme und Netzwerke nach einer Cyberattacke würden alle Versicherungsanbieter übernehmen. Hierbei sollten Unternehmen aber mit ihrem Anbieter für ihre spezifischen Geschäftsrisiken klären, was das im Einzelfall heißt. Unternehmen, deren Geschäftsmodell beispielsweise größtenteils aus der Nutzung von Kundenkontaktdaten besteht, sollten sich bestätigen lassen, ob darunter der Einkauf komplett neuer Kundenkontaktdaten fällt. Im Zweifelsfall könnte die Regelung auch nur bedeuten, dass die Kosten für die Entschlüsselung unautorisiert verschlüsselter Daten übernommen werden. An dieser Stelle ist darauf hinzuweisen, dass nicht alle Versicherungsan41


TITEL | CYBERVERSICHERUNGEN

bieter die Schäden durch den Diebstahl von Datenträgern inklusive Folge- und Nebenschäden tragen.

Hilfe bei Erpressung Bei fast allen Anbietern sind auch die Schäden und Aufwendungen bei Erpressungen über das Internet zumindest theoretische Regulierungsfälle – insbesondere Lösegeldzahlungen sind lediglich bei

einem Versicherer explizit ausgeschlossen. Erpressungsversuche sind aktuell nicht gerade selten, vorrangig im Zusammenhang mit sogenannter Ransomware. Diese Schadsoftware verschlüsselt Daten wie Systeme und fordert die Zahlung von Lösegeld für die Entschlüsselung. Selbst wenn sich hier mitunter ein Verhaltenskodex bei den Angreifern etabliert hat, der eine Entschlüsselung bei Lösegeldzahlung tatsächlich vorsieht, ist nicht unbedingt gesichert, dass sich diese er-

folgreich umsetzen lässt. Zahlt die Versicherung auch zusätzlich zum Lösegeld die Folgeschäden, wenn ein Entschlüsseln nicht zustande kommt? Diese Frage wäre auf alle Fälle zu stellen. Beim klassischen Internetbetrug oder der Urkundenfälschung zahlen nicht alle Anbieter. Letztere ist ein klassisches Mittel, um bei sogenannten Fake-PresidentBetrugsmaschen beispielsweise die Freigabe von Zahlungsanweisungen durch Geschäftsführer vorzutäuschen. Gerade

W&W

Zürich DE

Welche Ereignisse stellen einen Regulierungsfall Ihrer Cyberversicherung dar? Schäden und Aufwendungen aufgrund von … / infolge der … Abwehr unberechtigter Schadensersatzansprüche Dritter ✓ ✓ ✓ ✓ ✓ ✓ Ausgleich berechtigter Schadensersatzansprüche Dritter ✓ ✓ ✓ ✓ ✓ ✓ Sabotage von IT-Anlagen zur Steuerung von Maschinen und Anlagen – ✓ ✓ ✓ ✓ – Löschung und Manipulation von Daten durch Bedienungsfehler sowie vorsätzliche Programm✓ ✓ ✓ ✓ ✓ – oder Datenänderungen Dritter (z.ˇB. Hacker) Denial-of-Service-Angriffen ✓ ✓ ✓ ✓ ✓ ✓ Ersatzleistungen, Reparaturen oder Neuanschaffungen – ✓ ✓ – ✓ – technischen Problemen wie Überspannung oder durch höhere Gewalt wie Blitzschlag ✓ – ✓ – – – gefälschten, ausgespähten und abgefangenen Daten, Computersabotage, Erschleichen von ✓ ✓ ✓ ✓ ✓ ✓ Zugangsdaten Diebstahl von Datenträgern inkl. Folge- und Nebenschäden – ✓ ✓ ✓ – – Internetbetrug oder Urkundenfälschung – ✓ ✓ ✓ – – Erpressung über das Internet – ✓ ✓ ✓ ✓ ✓ Unternehmensmitarbeitern, die Schwachstellen in Informations- und Kommunikationstechnologien – ✓ ✓ ✓ ✓ – sowie Kontrollmaßnahmen ausnutzen vorsätzlichen Programm-/Datenänderungen durch Mitarbeiter/vorsätzlicher, widerrechtlicher – ✓ ✓ ✓ ✓ – Nutzung von IT-Systemen der Mitarbeiter Verdienst- und Ertragsausfällen bei Betriebsstörungen ✓ ✓ ✓ ✓ ✓ ✓ Aufrechterhaltung des Geschäftsbetriebs ✓ ✓ ✓ ✓ ✓ ✓ Wiederherstellung gestohlener/zerstörter/beschädigter/blockierter Daten/Datenträger/ ✓ ✓ ✓ ✓ ✓ ✓ Programme/Netzwerke nach einer Cyberattacke Wiederbeschaffung gestohlener/zerstörter Daten und physischer Datenträger nach einer ✓ ✓ ✓ ✓ ✓ – Cyberattacke Schadensermittlung ✓ ✓ ✓ ✓ ✓ ✓ Beauftragung externer IT-Forensik-Sachverständiger und IT-forensischer Untersuchungen ✓ ✓ ✓ ✓ ✓ ✓ Auswertungen von Daten und elektronischen Dokumenten im Rahmen von Rechtsstreitigkeiten – ✓ ✓ ✓ – – oder regulatorischen/behördlichen Anfragen Rechtsverfolgung ✓ ✓ ✓ ✓ ✓ ✓ Datenschutzverletzungen (z.ˇB. zur Erbringung von Meldepflichten bei Datenschutzbehörden, ✓ ✓ ✓ ✓ ✓ ✓ Schadenersatzforderungen) Einschaltung eines externen Krisen- und Kommunikationsmanagers zwecks Reputationsschutz ✓ ✓ ✓ ✓ ✓ ✓ durch Cyberkriminelle verursachtem Missbrauch unternehmenseigener Computer – ✓ ✓ ✓ ✓ – Cyberangriffen bei verbundenen Dritten (z.ˇB. Cloud-Anbieter, Geschäftspartner, die Unternehmens– ✓ ✓ ✓ – – daten nutzen/bereitstellen) Haftpflicht infolge von Hackerangriffen, Denial-of-Service-Attacken, Datenschutzverletzungen oder ✓ ✓ ✓ ✓ ✓ ✓ fehlerhafter digitaler Kommunikation durch den Versicherungsnehmer verursachten direkten oder indirekten Vermögensschäden bei – – ✓ ✓ – – dessen Kunden aufgrund von Softwareentwicklungsfehlern unbeabsichtigter Verbreitung von Malware ✓ ✓ ✓ ✓ ✓ – Rechtsverteidigung ✓ ✓ ✓ ✓ ✓ ✓ Welche Schäden deckt Ihre Cyberversicherung ausdrücklich nicht ab? Reputationsverlust k.ˇA. – ✓ ✓ – – Schäden, bei denen der Verursacher nicht identifiziert werden konnte k.ˇA. – – – – – Personen- und Sachschäden k.ˇA. ✓ ✓ ✓ ✓ ✓ Strafzahlungen nach Verurteilungen k.ˇA. – ✓ ✓ – ✓ Urheberrechtsverletzungen k.ˇA. – – – – – Schäden, die über die reguläre Haftpflichtversicherung abgedeckt sind k.ˇA. – – ✓ – – die durch eine andere Versicherung bereits abgedeckten Schadensfälle k.ˇA. – – – – – Lösegeldzahlungen k.ˇA. k.ˇA. – – – –

Hiscox

HDI Gerling

DUAL

AXA

Allianz

AIG

ACE*

Versicherungsleistungen im Detail

✓ ✓ ✓ ✓

✓ ✓ ✓ ✓

✓ ✓ ✓ ✓

✓ – – ✓

✓ – – ✓

✓ – – ✓

✓ ✓ ✓ ✓

✓ ✓ ✓ ✓

✓ – ✓ ✓

✓ ✓ ✓

✓ ✓ ✓

✓ ✓ ✓

✓ ✓ ✓

✓ ✓ –

✓ ✓ ✓

✓ ✓

– ✓

– ✓

✓ ✓ ✓

✓ ✓ –

✓ ✓ ✓

✓ ✓

✓ ✓

– ✓

– ✓ – – – – – ✓

– – ✓ ✓ – – – –

✓ – ✓ – – ✓ – –

* ausgefüllt auf Basis des gelieferten Produktinformationsblattes; ✓ ja/vorhanden/trifft zu; – nein/nicht vorhanden/trifft nicht zu; k.ˇA. keine Angabe

42

iX 9/2015


solche Vorfälle, bei denen Mitarbeiter – bewusst oder unbewusst – zu Mittätern werden, erfordern das Einbinden externer Sachverständiger, die die Vorfälle objektiv aufklären und aufarbeiten. Oft reagieren Unternehmen jedoch genau gegenteilig und versuchen, die Cybervorfälle eigenständig aufzuarbeiten, selbst wenn sie nicht über ausreichend interne Kapazitäten und Fachwissen verfügen. In der Regel führt das zu höheren Schäden, da es die Aufklärung verzögern kann. Zumeist findet in diesen Fällen keine tiefere Ursachenermittlung statt, das heißt, man läuft Gefahr, dass sich solche Vorfälle wiederholen, weil Schwachstellen, Täter und Motivationen nicht ermittelt wurden. Ein einfaches Beispiel wäre die Wiederherstellung einer Systemumgebung nach einem Schadsoftwarebefall, nach dem Motto „mal schauen, was passiert“. So ist jedoch keine effektive Abwehrstrategie zukünftiger Vorfälle möglich. Weitere Schäden sind absehbar, ganz zu schweigen vom Reputationsschaden durch sich wiederholende Vorfälle. Diesem finanziellen Risiko begegnen die Versicherer bewusst durch das Übernehmen der Kosten für die Schadensermittlung, das Einbinden externer ITforensischer Sachverständiger sowie IT-forensische Untersuchungen.

Wahrung des guten Rufs Versicherer tragen in der Regel zudem die Kosten für einen externen Krisen- und Kommunikationsmanager, der die Reputation des Unternehmens schützt, sowie von Juristen für die Rechtsverteidigung sowie -verfolgung. Versicherer weisen vereinzelt darauf hin, dass es sich nicht um einen aktiven Rechtsschutz handelt. Unternehmen sollten ihren Versicherer nach der freien Auswahl eines Sachverständigen, Krisenmanagers oder Rechtsanwaltes fragen und sich über eine Deckelung der Honorarsätze oder des Gesamthonorars informieren. Häufig stellen Versicherer Kontakte zu Experten her, deren Beauftragung und Kostendeckung bereits abgestimmt und freigegeben ist. Dies erleichtert auch schnelles Reagieren im Ernstfall. Betrifft der Cybervorfall personenbezogene Daten, sind möglicherweise Datenschutzbehörden zu informieren. Die Aufwendungen dafür übernehmen alle befragten Versicherungsunternehmen. Auch hier lohnt sich aber die Nachfrage, ob darüber hinaus mögliche Meldepflichten im Rahmen des seit Juli 2015 geltenden ITSicherheitsgesetzes oder das Publizieren iX 9/2015

eines Vorfalls in überregionalen Tageszeitungen im Einzelfall gedeckt sind. Leichte Unterschiede zwischen den Versicherungen ergeben sich im Hinblick auf die Behandlung von Schäden durch interne Täter – nach wie vor eines der meistunterschätzten Risiken rund um den Begriff „Cyber“, der stark von der Vorstellung eines externen Angriffs über ein Netzwerk geprägt ist. Dennoch übernehmen fast alle Versicherer die Schäden infolge des Löschens und Manipulierens von Daten durch Bedienungsfehler. Bei genauer Betrachtung handelt es sich dabei nicht um einen Cyberangriff, aber um Vorfälle in einer Cybersystemumgebung mit potenziell vergleichbaren Auswirkungen. Die zentrale Frage an den Versicherer sollte hier lauten: Ist nur der veränderte Zustand der Daten selbst oder die daraus resultierende Auswirkung gedeckt? Beispiele sind etwa falsch konfigurierte Produktionsanlagen oder Handelsplattformen mit asynchronen Systemzeiten. Eine vergleichbare Konstellation findet sich bei der Deckung von Schäden durch das unbeabsichtigte Verbreiten von Malware, etwa durch Weiterleiten befallener E-Mail-Anhänge oder verseuchte Websites. Auch diese Schäden sind durch fast alle Versicherungsanbieter gedeckt. Zwei Anbieter würden darüber hinaus direkte oder indirekte Vermögensschäden bei Kunden des Versicherungsnehmers aufgrund von Softwareentwicklungsfehlern übernehmen. Ganz ähnlich handhaben die Versicherer die Problematik der internen Täter, die vorsätzlich handeln: Gedeckt sind Schäden, die auf Mitarbeiter zurückzuführen sind, die Schwachstellen in Informationsund Kommunikationstechnologien sowie Kontrollmaßnahmen ausnutzen. Auch Schäden durch vorsätzliche Programmund Datenänderungen durch Mitarbeiter sowie die widerrechtliche Nutzung von IT-Systemen werden von fast allen Versicherungsanbietern reguliert. Darüber hinaus sind neben den durch Vorsatz entstehenden Schäden auch solche infolge fehlerhaften Handelns gedeckt. Zu erfragen bleibt allerdings beim Versicherer der Umgang mit fahrlässigem Handeln.

Wenn Dritte involviert sind Besonders aufzupassen gilt es bei den Regelungen zu Cyberangriffen auf verbundene Dritte, zum Beispiel Cloud-Anbieter oder Geschäftspartner, die Unternehmensdaten nutzen oder bereitstellen. Hier bietet sich bei den Versicherern ein äußerst heterogenes Bild. Letztendlich verdeutlicht


TITEL | CYBERVERSICHERUNGEN

das die Notwendigkeit einer intensiven Diskussion darüber, wie verbundene Dritte zu definieren sind. Sind davon auch Konzerngesellschaften betroffen? Wie sind Minderheitsbeteiligungen geregelt? Ist die Möglichkeit der Einflussnahme auf verbundene Dritte erheblich? Ausdrücklich nicht abgesichert werden bei fast allen Versicherern beispielsweise Personen- und Sachschäden. Strafzahlungen nach Verurteilungen sind bei einem Großteil ebenfalls explizit nicht gedeckt. Dafür übernehmen einige Anbieter auch die Kosten für Auswertungen elektronischer Dokumente und Daten im Zusam-

menhang mit Rechtsstreitigkeiten oder regulatorischen beziehungsweise behördlichen Anfragen (auch E-Discovery genannt). Die vorgenannten Beispiele zeigen, dass die Regelungen der Versicherungsanbieter versuchen, alle abgedeckten sowie alle ausdrücklich ausgeschlossenen Schadensfälle hinreichend zu definieren. Dennoch besteht für Versicherungsnehmer die Notwendigkeit, konkrete Risikoszenarien für das eigene Unternehmen zu definieren und diese im Risikodialog mit dem Versicherer anhand des jeweiligen Bedingungswerks zu prüfen. Nur so ist

zu gewährleisten, dass der Versicherungsnehmer bekommt, was er sich von einer standardisierten, aber insbesondere auch individuell gestalteten Cyberversicherung erhofft.

Cyberversicherung – was ist das? Im Gegensatz zu herkömmlichen Versicherungsprodukten unterscheiden sich Cyberversicherungen vor allen Dingen in ihrem ganzheitlichen, spartenübergreifenden und sachschadenunabhängigen Ansatz. So

Zielgruppen und Rahmenbedingungen Anbieter Name der Versicherung

ACE* AIG ACE Data AIG CyberProtect Edge 2.0 PLUS Zielgruppe von Unternehmen (gemessen am Umsatz in Euro) bis 10 Mio. ✓ ✓ ab 10 Mio. und unter 100 Mio. ✓ ✓ ab 100 Mio. und unter ✓ ✓ 250 Mio. ab 250 Mio. und unter 3 Mrd. ✓ ✓ ab 3 Mrd. – ✓ geografische Zielmärkte weltweit DE, EU, USA

Allianz Allianz Cyber Protect – – ✓

AXA Byte Protect

DUAL DUAL Cyber Defence

HDI Gerling HDI-Gerling Cyber+

✓ ✓ ✓

✓ ✓ ✓

✓ ✓ ✓

✓ ✓ ✓

✓ – –

– – ✓

✓ – DE, EU

✓ ✓ DE, EU

✓ – DE, EU, USA

– –

✓ ✓ DE, EU, USA, Asien

✓ ✓ – –

✓ ✓ – –

✓ ✓ ✓ ✓

✓ ✓ – –

✓ ✓ – –

✓ ✓

✓ ✓, da sonst kein risikoadäquater Versicherungsschutz

✓ k.ˇA., ggf. Überprüfung und Anpassung des Portfolios

✓ ✓, Erweiterung des Versicherungsschutzes, kein Ersatz

– ✓, Ausschließen von Deckungslücken

mind. 50ˇ000, max. 10 Mio.

mind. 1 Mio., max. 50 Mio.

mind. 250ˇ000, max. 15 Mio.

mind. 125ˇ000, max. 2 Mio.

mind. 1 Mio., max. 25 Mio.

– ✓ – – DE, EU, AU, DE, EU ZA, Asien, weitere Maßgebliche Faktoren zum Versicherungsbeitrag und möglicher Deckungssummen Reifegrad der IT- und Infor✓ ✓ ✓ ✓ mationssicherheit im Unternehmen Risiko von Drittschäden ✓ ✓ ✓ ✓ Risiko von Eigenschäden ✓ ✓ ✓ ✓ Vertragslaufzeit ✓ – ✓ – Mehrfachdeckung durch – – ✓ – andere Versicherungen Sonder- und Mehrfach– – ✓ – leistungen Selbstbehalte – ✓ ✓ ✓ Empfehlung zum Beibehalten ✓, ggf. Individuell ✓, ggf. ✓, aber Verbisheriger VersicherungsÜberprüzu prüfen, Überprümeiden produkte (zusätzlich zur fung und in der Regel fung und einer MehrCyberversicherung); BegrünAnpassung ergänzen Anpassung fachversichedung/Ergänzung des Portsich die Ver- des Portrung über folios sicherungsfolios Prüfung und produkte ggf. Anpassung des Portfolios Deckungssumme minimale bzw. maximale Deckungssummen in Euro

mind. 250ˇ000, max. 50 Mio.

mind. 500ˇ000, max. 25 Mio.

kein Minimum, max. 100 Mio.

Deckung der Feststellungskosten des Versicherungsfalls durch Dritte ja, ohne Einfluss auf die Höhe – – ✓ der Deckungssumme ja, mit Einfluss auf die Höhe ✓ ✓** – der Deckungssumme nein – – – Eigenanteil definierter Betrag in Höhe variabel ab 1000 mind. 5000 von … Euro definierte Ausfallzeiten, deren variabel 12 (variabel) – Kosten selbst zu tragen sind, in Höhe von … Stunden

kein Minimum, max. 10 Mio.

ab 1000

variabel

variabel

ab 4, je nach Risiko

variabel

variabel

Hiscox Cyber Risk Management

1000 bis 500ˇ000 12

W&W Die CyberPolice

DE

1000 24

Zürich DE Zurich Cyber & Data Protection

25ˇ000 bis 10 Mio. –

*ˇausgefüllt auf Basis des gelieferten Produktinformationsblattes; **ˇja, im Rahmen der Höhe der Deckungssumme (ggf. auf vereinbarte Sublimits); ✓ ja/vorhanden/trifft zu; – nein/nicht vorhanden/trifft nicht zu; k.ˇA. keine Angabe; DE Deutschland; EU Europäische Union; ZA Südafrika; AU Australien

44

iX 9/2015


werden sowohl Eigen- als auch Drittschäden (Haftpflichtkomponente) mitversichert. Ebenso wenig spielt die Herkunft des Täters (unternehmensintern oder -extern) eine Rolle, sie hat keinen Einfluss auf die Regulierung im Schadensfall. Zudem bieten Cyberversicherungen dem Kunden die Möglichkeit, sich zusätzliche Expertenunterstützung durch IT-ForensikSachverständige oder Kommunikationsmanager einzukaufen. Das ist laut den Versicherern konzeptionell bei den traditionellen Produkten nicht zu leisten. Trotzdem sind sich die meisten Versicherungsunternehmen einig, dass Unternehmen ihre bisherigen Versicherungspolicen beibehalten sollten. Sie begründen es damit, dass die Cyberversicherung lediglich eine Erweiterung des Versicherungsschutzes als Reaktion auf eine wachsende Bedrohungslage ist und ihn nicht ersetzt. Dennoch empfehlen einige Versicherer ein Überprüfen und gegebenenfalls Anpassen des Versicherungsportfolios gegen Beitragsminderungen von anderen Policen. Hierbei ist zu beachten, dass die Cyberpolice zumeist vorrangige Deckung vor anderen Versicherungen hat. Oft sind die tatsächlichen Überschneidungen aber geringer als allgemein angenommen. Das Abschließen einer Cyberpolice lohnt sich nach Ansicht der Versicherer grundsätzlich für jedes Unternehmen. Am meisten profitieren Industrieunternehmen, Dienstleister oder Firmen IT-naher Branchen, deren Umsätze stark von Informationstechnik abhängen.

Dauer des Versicherungsschutzes Die Versicherungsdauer, während der der Schutz besteht, variiert je nach Anbieter. Während bei manchen die Regelung existiert, dass das versicherte Ereignis innerhalb der Vertragslaufzeit erfolgen muss, gibt es bei anderen eine unbegrenzte Rückwärtsdeckung und eine automatische Nachhaftung von fünf Jahren. Fast alle Versicherer wenden das Claimsmade-Prinzip an, das heißt, dass unabhängig vom Zeitpunkt des Schadeneintritts (etwa dem Erstzugriff durch einen Cyberkriminellen) der Zeitpunkt der Anspruchserhebung gegen den Versicherer (das Feststellen des Angriffs) ausschlaggebend ist. Sie ist also das Ereignis, das innerhalb der festgelegten Versicherungsdauer liegen muss. Generell deckt das Angebot der Versicherer Unternehmen jeder Größe – gemessen am Umsatz – und sämtlicher Branchen ab (siehe Tabelle „Zielgruppen iX 9/2015

und Rahmenbedingungen“). Dabei konzentrieren sich die Versicherungsunternehmen zum Beispiel auf kleinere Unternehmen ausgewählter Branchen wie der produzierenden Industrie oder Transport und Verkehr mit einem Umsatz von unter 10 Millionen Euro. Ein anderer Schwerpunkt liegt auf Unternehmen mit einem Umsatz von bis zu 3 Milliarden Euro und einer übergreifenden Branchenabdeckung oder spezifischem Schwerpunkt auf Finanzdienstleistungsunternehmen. Einige Versicherer konzentrieren sich auf die produzierende Industrie ab einem Umsatz von 5 Millionen Euro. Aber auch Unternehmen jeder Branche ab einem Umsatz von 100 Millionen Euro sind eine Zielgruppe. Angesprochen werden dabei überwiegend der deutsche und europäische Markt.

Was man vor einem Abschluss wissen muss Sollte man sich als Unternehmen dafür entscheiden, eine Cyberversicherung abzuschließen, kann man je nach Bedarf zwischen standardisierten Deckungsbausteinen und individuellen Lösungen wählen. Die Deckungssumme ist bei allen Versicherern nach oben und oft auch nach unten hin begrenzt. Die größte Flexibilität wird bei ausbleibender Minimalgrenze der Deckungssumme und einer Maximalgrenze bei 100 Millionen Euro erreicht. Individuelle Regelungen sind jedoch immer möglich. Der Eigenanteil des Versicherungsnehmers – auch im Hinblick auf vorab definierte Ausfallzeiten – ist mit den meisten Versicherern individuell verhandelbar. Untergrenzen liegen häufig bei 1000 Euro beziehungsweise vier Stunden (siehe Tabelle „Zielgruppen und Rahmenbedingungen“). Dies ist jedoch wie bei anderen Versicherungsformen stark abhängig vom gewählten Deckungsumfang. Bevor Versicherer eine Police abschließen, unterziehen sie das zu versichernde Unternehmen einer Risikoprüfung. Art und Umfang dieser Prüfung hängen von der Deckungssumme, der Größe des Unternehmens und den exponierten Risiken ab. Das Spektrum ist breit und beginnt bei der Selbstauskunft durch Ausfüllen eines Fragebogens. Eine weitere Variante wäre ein Risikodialog zwischen internen Sachverständigen des potenziellen Versicherungsnehmers sowie IT-(Sicherheits-) und Forensik-Experten über den Gefährdungsgrad (welche Risiken bestehen konkret und wie groß wäre der mögliche Schaden?) und den vorhandenen Schutz (welche spezifischen Schutzmaßnahmen sind implementiert?). Schließlich sind auch so-


TITEL | CYBERVERSICHERUNGEN

Awareness-Maßnahmen in Bezug auf Cyberrisiken Entwicklung von Sicherheitskonzepten und Implementierung von Maßnahmen Aufbau interner Cyberkompetenz für Prävention, Detektion und Reaktion Pentests/Sicherheitstests proaktive Auswahl externer IT-Forensik-Dienstleister für eine schnelle Reaktion im Ernstfall

0

10

20

30

40

50

60

70

80

90 100

Mit einer Versicherung allein ist es nicht getan. Unternehmen sollten Mitarbeiter schulen und Sicherheitsmaßnahmen ergreifen – das verminderte Risiko schlägt sich unter Umständen in günstigeren Versicherungstarifen nieder (Abb.ˇ2).

genannte Penetrationstests durch externe Sachverständige denkbar. Standardisierte Beurteilungskriterien für die Gesamtbranche haben sich noch nicht etabliert. Allerdings gibt es Anbieter, die ihr Fachwissen in eine Software einfließen ließen. So ist eine online durchgeführte Selbsteinschätzung (Self-Assessment) ebenso möglich wie die Darstellung der unternehmenseigenen Risikodisposition und Reaktionsfähigkeit auf Cybervorfälle im Benchmark. Bei Bedarf fließen in die Assessments Umfeldanalysen in der Branche und Recherchen zur Schadenshistorie ein. Das Hinzuziehen unabhängiger Sachverständiger für die Risikobeurteilung im Vorfeld des Versicherungsabschlusses – egal durch welchen der beiden Vertragspartner – ist eine etablierte Option, die das Verfahren vereinfacht und objektiviert. Der Versicherungsbeitrag und die tatsächlich festgesetzte Versicherungssumme ergeben sich vor allem aus dem Reifegrad der IT- und Informationssicherheit im Unternehmen, dem Selbstbehalt und dem Risiko von Dritt- und Eigenschäden. Das mögliche Ausmaß Letzterer leitet sich sowohl von den Sicherheitsmaßnahmen ab, die einen Cybervorfall verhindern sollen (Intrusion Prevention), als auch von denjenigen zum Erkennen (Intrusion Detection) eines Vorfalls sowie ersten Reaktionen darauf (Incident/Cyber Response). Immer mehr an Bedeutung gewinnt in diesem Zusammenhang die Fähigkeit von Unternehmen, über die eigentliche Abwehr und Schadensbegrenzung hinaus entscheiden zu können, welcher Vorfall forensische Reaktionsmaßnahmen im Sinne einer gerichtsfesten Beweisdatensicherung und -analyse erfordert, und entsprechende interne und externe Spezialisten umgehend zu mobilisieren. Um den Versicherungsbeitrag zu reduzieren und die Versicherungssumme zu erhöhen, können Unternehmen einen aktiven Beitrag in Form von Zertifizierungs46

nachweisen und externen IT-Audits leisten. Generell ist die Vorbereitung auf einen Schadensfall durch das Erstellen von Notfall-, Management- und Wiederanlaufplänen mit definierten Verantwortlichkeiten und regelmäßig durchgeführten Penetrationstests, Notfallübungen und Systemupdates zu empfehlen. Einige Versicherungsanbieter bieten auch präventive Maßnahmen an. Unternehmen sollten ihren Versicherungsanbieter oder Makler darauf ansprechen.

Wenn der Schadensfall eintritt Kommt es zum Schadensfall, ist die Erstreaktion besonders kritisch. Unklare Zuständigkeiten sowie Fehler in der Beweissicherung und der Kommunikation haben oft irreparable Auswirkungen. Auch die Versicherer weisen im Falle eines Schadens auf die Wichtigkeit der sofortigen Kontaktaufnahme mit dem dafür vorgesehenen Notfall-Service und gegebenenfalls internen IT-Sicherheitsexperten hin. Konkret besteht dieser Notfall-Service der Versicherer in einer Notfall-Hotline, zumeist ergänzt von einer umfangreicheren Cyber-Assistance durch IT-Forensik-Experten. Diese stellen mit ihrer Erfahrung und globalen Netzwerken sicher, dass die Beteiligten schnell, koordiniert und angemessen auf die Situation reagieren, selbst wenn zeitgleich an mehreren Unternehmensstandorten Reaktionsmaßnahmen erforderlich sind. Sie unterstützen bei der Schadenseindämmung, Beweisdatensicherung und -analyse, Aufarbeitung sowie Bewältigung des Schadens. Sie geben Empfehlungen zum Beheben des Cybervorfalls oder für das Einbinden weiterer Spezialisten, beispielsweise Anwaltskanzleien. Zumeist handelt es sich dabei um Wirtschaftskanzleien, spezialisiert auf Datenschutzrecht, Arbeitsrecht

und Strafrecht. Für Unternehmen ist es wichtig zu berücksichtigen, dass Cybervorfälle keiner technisch orientierten Reaktion und Aufarbeitung bedürfen. In der Regel sind nicht nur beim eigentlichen Cyberangriff personenbezogene Daten von Kunden oder Mitarbeitern des Unternehmens betroffen. Auch bei der nachfolgenden Untersuchung können Persönlichkeitsrechte der Betroffenen verletzt werden. Die Gestaltung der Sonderuntersuchung (das „Wie“ der Maßnahme) könnte ein Mitbestimmungsrecht des Betriebsrats begründen, das in der Regel mit einer vollumfänglichen Beteiligung der Arbeitnehmervertretung einhergeht. Darüber hinaus stellt sich gerade beim Aufarbeiten des Vorfalls die Frage, ob und inwieweit das Datenleck durch ein strafbares Verhalten eines Mitarbeiters entstand und ob dieses Fehlverhalten strafrechtlich und arbeitsrechtlich sanktioniert werden kann. IT-Forensiker arbeiten überdies eng mit PR-Beratern zusammen. Sie stellen die komplexen technischen Sachverhalte einfach und verständlich dar und ermöglichen somit klare Aussagen nach innen und außen. Sie wissen auch im Bedarfsfall, für welche ausgewählten Einzelfragen weitere technische Spezialisten, beispielsweise für Fragen zu proprietärer Software, einzubeziehen sind. Nach Beurteilung der Versicherer nehmen die IT-Forensik-Experten eine Schlüsselrolle im Schadensfall ein. Ergänzend zur Weiterführung der Geschäfte (Krisenmanagement, Business Continuity Management, Disaster Recovery) sichern sie den Bestand der Daten und Beweise während und nach einer Krise. Im Bedarfsfall definieren sie auch Kriterien für ein vertieftes Monitoring kritischer Daten und Systeme für einen Übergangszeitraum, um ein erneutes Aufflammen komplexer Vorfälle zu verhindern. In Zeiten, in denen man davon ausgehen kann, dass früher oder später jedes Unternehmen von Sicherheitsvorfällen betroffen sein wird, trägt die professionelle Reaktion im Ernstfall auch dazu bei, Reputationsschäden zu reduzieren.

Der gute Ruf ist unbezahlbar Diese können gravierende Folgen für ein Unternehmen haben, selbst wenn der daraus resultierende finanzielle Schaden nur schwer messbar und der Zusammenhang mit dem Ereignis vielleicht nicht zu belegen ist. Aus diesem Grund decken einige Versicherer das Risiko des Reputationsverlusts ausdrücklich nicht ab. iX 9/2015


Konkret bezifferbar sind hingegen Maßnahmen im Zusammenhang mit Reputationsschäden, zum Beispiel die Kosten für Kampagnen zur Neukundenakquise nach einem ereignisbedingten Kundenverlust. Gerade für kleine und mittelständische Unternehmen ist das Einbeziehen externer Spezialisten enorm wichtig, da entsprechende Fachkenntnisse oftmals nicht intern vorhanden sind. Die Feststellungskosten des Versicherungsfalls durch ITForensik-Sachverständige sind von den Versicherern gedeckt. Bei manchen Cyberversicherungen kann dies Einfluss auf die Höhe der Deckungssumme haben (siehe hierzu Tabelle “Zielgruppen und Rahmenbedingungen“). Einfluss auf die Regulierung im Schadensfall kann auch der Sitz eines Unternehmens haben sowie der internationale Standort, an dem der Angriff erfolgt beziehungsweise der Schaden entstanden ist. So schließen manche Versicherer eine Haftung in den USA aus, da dort deutlich höhere Schadenersatzforderungen und Geldstrafen zu erwarten sind.

Zusätzliche Maßnahmen zur Cyberversicherung Als Ergänzung zu einer Cyberversicherung empfehlen die Versicherer einhellig die Sensibilisierung von Mitarbeitern für Cyberrisiken sowie das Einführen von Sicherheitskonzepten im Unternehmen. Mehrheitlich empfehlen sie zudem den Aufbau interner Kompetenz für Prävention, Detektion und Reaktion, Penetrations- und Sicherheitstests sowie die proaktive Auswahl externer IT-ForensikDienstleister für eine schnelle Reaktion im Ernstfall (Abbildungˇ2). Insbesondere Sensibilisierungsmaßnahmen für die Beschäftigten liegen in der Rangordnung weit vorne, da Unachtsamkeit als Nummer eins der begünstigenden Faktoren für Cyberkriminalität gilt. So können gezielt eingesetzte Mittel die nötige Umsicht im Umgang mit Systemen, Daten, Prozessen sowie potenziellen Tätern fördern. Bei der Planung und Einführung von Sicherheitskonzepten sind sinnvolle erste Schritte beispielsweise Schulungen zur Verschlüsselung von Daten und Datenträgern sowie eine regelmäßige Überprüfung des Schutzbedarfs von Daten und Systemen. Beim Aufbau interner Cybersachkenntnis für Prävention, Detektion und Reaktion könnte der angespannte Markt für Fachkräfte mit notwendiger Qualifikation ein Hindernis sein. iX 9/2015

Was die Zukunft bringt Maßnahmen zum Reduzieren des Risikos von Cyberangriffen werden immer wichtiger. Das belegt unter anderem der Bericht zur Lage der IT-Sicherheit des BSI („Alle Links“), aus dem hervorgeht, dass mit der zunehmenden Digitalisierung und Vernetzung auch eine dynamische Gefährdungslage einhergeht. Dies zeigt auch in der erwähnten KPMG-Studie die diesbezüglich pessimistische Einschätzung der Unternehmen (Abb.ˇ1) Ein Teil der Versicherer vermutet angesichts des steigenden Risikos, Opfer von E-Crime zu werden, dass es vermehrt zu Allianzen mit Rückversicherern kommt. Unterstützt wird diese Annahme von der sich kontinuierlich steigernden Nachfrage nach Cyberpolicen seit ihrer Markteinführung. Hier sehen die Versicherungsunternehmen eine deutliche Entwicklung in den nächsten fünf Jahren hin zu einer etablierten Standardversicherung für Unternehmen. Vor allem Unternehmen, deren Geschäftsbetrieb in hohem Maße von IT abhängig ist und die einen großen Bekanntheitsgrad genießen, dürften sich zunehmend an die Cyberversicherer wenden. Aus Sicht der Autoren wird der Aspekt der Standardisierung der Cyberversicherung einhergehen mit einer verfeinerten Methodik, die messbare Reaktionsfähigkeit von Unternehmen auf Cybervorfälle in Beziehung zu Versicherungsbeitrag und -summe zu setzen. Zwangsläufig ist dafür eine breitere Basis von ausgewerteten Schadensfällen und Vergleichsinformationen zum Reifegrad der Unternehmen notwendig. Mit der Standardisierung wird auch der Bedarf der Versicherungsanbieter verbunden sein, sich mit ihrem Produkt von dem der Konkurrenz zu unterscheiden – idealerweise aber nicht vorrangig durch den Preis. Versicherer werden im Zuge des individuellen Vertragsabschlusses dann zunehmend auf Unternehmen treffen, die ganz genau wissen, welche ihre spezifischen Cyberrisiken sind und wie sie ihnen wirksam begegnen. (ur)

Alexander Geschonneck leitet als Partner bei der KPMG AG Wirtschaftsprüfungsgesellschaft das Forensic Team in Deutschland.

Thomas Fritzsche ist als Senior Manager im Cyber Forensic Team der KPMG AG für Cyber Insurance Assistance Services verantwortlich. Alle Links: www.ix.de/ix1509040


TITEL | RECHT

Verantwortlichkeit und Haftungsfragen bei Cybervorfällen

Virtuelle Welt – reale Gefahr Tobias Haar Jeder IT-Einsatz birgt das Risiko, dass man Opfer von Cyberangriffen, Datenspionage et cetera wird. Einen hundertprozentigen Schutz gibt es dabei nicht. Umso wichtiger, dass die Verantwortlichen im Unternehmen ihren Pflichten nachkommen. 48

D

ie unlängst auf Unternehmen und Behörden erfolgten Hackerangriffe zeigen, dass es um die IT-Sicherheit nicht immer zum Besten bestellt ist. Sie werfen ein Schlaglicht auf die Risiken, die mit dem IT-Einsatz verbunden sind, und dabei auch darauf, welche rechtliche Verantwortung auf Unternehmen in diesem Bereich zukommt. Dieser Verantwortung müssen die Geschäftsleiter und die von ihnen damit beauftragten Zuständigen in Unternehmen nachkommen. Zu selten noch wird IT-Sicherheit als eine der Hauptaufgaben des obersten Managements verstanden. Neben dem Vermeiden haftungsträchtiger Vorfälle steht im Schadensfall der richtige Umgang mit den eingetretenen Konsequenzen im Vordergrund. Hierbei ist professionelle Hilfe genauso vonnöten wie eine Übersicht über die erforderlichen Handlungsschritte, um den eingetretenen Schaden möglichst einzudämmen. Die potenziellen Folgen einer Verletzung der Integrität der IT-Systeme können neben zivilrechtlichen und strafrechtlichen Konsequenzen auch Bußgelder umfassen, wenn etwa gesetzlich vorgeschriebene Meldungen an Behörden nicht oder nicht rechtzeitig erfolgen. Risiken durch Hackerangriffe und dergleichen sind meist auf menschliche Handlungen von innerhalb oder von außerhalb eines Unternehmens zurückzuführen. Zusätzlich sind Schäden denkbar, die durch halbautonome oder künftig vollautonome IT-Anlagen verursacht werden (Details siehe [1]). Die Höhe der Schadenssummen ist in jedem Fall grundsätzlich unbegrenzt.

Juristische Annäherung an den „Cyberschaden“ Gesetzlich gibt es den Begriff des „Cyberschadens“ nicht. Wenn sich Juristen der Frage nach der Haftung für Schäden durch Vorfälle beim Einsatz von Informationstechnologie nähern, stellen sie wie bei anderen zivilrechtlichen Ansprüchen auch die Standardfrage: Wer will was von wem woraus? Oder im Detail: Wer hat einen Anspruch? Was umfasst diesen Anspruch? Von wem ist der Anspruch zu befriedigen? Woraus ergibt sich die Anspruchsgrundlage? So offen diese Ausgangsfragen sind, so vielfältig sind auch mögliche Anspruchsgrundlagen, Anspruchsteller et cetera. Zunächst einmal können Schäden im eigenen Unternehmen auftreten – Server und andere Hardwarekomponenten können unbrauchbar sein und müssen iX 9/2015



TITEL | RECHT

ausgetauscht werden, Datenbanken sind zerstört. Aber auch weniger messbare Schäden sind denkbar, beispielsweise ein Rufschaden. Aktionäre können einen Kurseinbruch wegen schlechter Presse über das Unternehmen erleiden. Auch sind möglicherweise Kunden und Geschäftspartner wegen eines Datendiebstahls betroffen. Und schließlich gibt es staatliche Einrichtungen, die Unternehmen unter Umständen mit Bußgeldern belegen können. Am schlimmsten für persönlich verantwortliche Geschäftsführer, Vorstände oder (leitende) Angestellte sind aber sicher persönliche Haftungsrisiken und strafrechtliche Ermittlungsverfahren.

Vorbeugen ist besser als alleine haften Geschäftsführer müssen bei ihrer Tätigkeit die „Sorgfalt eines ordentlichen Kaufmanns“ an den Tag legen. Wann jemand sorgfältig gehandelt hat, entscheiden letztlich die Gerichte. Sie ziehen dazu den Stand der Technik heran, wie er beispielsweise im IT-Grundschutz des Bundesamtes für Sicherheit in der Informationstechnik (BSI) beschrieben ist. Sie schauen sich dabei auch an, wie es um die IT-Sicherheitsstandards einer Branche konkret bestellt ist. Wer hier etwa aus Kosten- oder Zeitgründen am falschen Ende spart, haftet unter Umständen persönlich, da er seinen gesetzlichen und vertraglichen Pflichten nicht nachgekommen ist. Kaum ein Unternehmen kommt heutzutage ohne den Einsatz von IT aus. Sorgfältig handelt ein Geschäftsführer in diesem Bereich aber nur dann, wenn er sich der Risiken des IT-Einsatzes bewusst ist und alle angemessenen und erforderlichen Schutzmaßnahmen ergreift. Hierzu zählt beispielsweise eine ausreichende personelle und technische Ausstattung. Überträgt er die Aufgaben an einen eigenen oder einen externen IT-Sicherheitsbeauftragten, muss er diesen klar anweisen und überwachen. Er muss auch sicherstellen, dass er laufend über alle relevanten Aspekte informiert wird. Anderenfalls kann er sich beim Eintritt eines vermeidbaren Schadens nicht darauf berufen, die Aufgabe delegiert zu haben, denn ihn trifft ein sogenanntes Organisationsverschulden. Weil er seine Organisation nicht „sorgfältig“ genug ausgestattet und geführt hat, wird ihm der Schaden zugerechnet und er haftet persönlich. 50

Damit er im Fall der Fälle nicht mit dem gesamten Vermögen haftet, sind für ihn zwei Punkte unerlässlich: Er kann versuchen, mit den Gesellschaftern eine Haftungsbeschränkung in seinen Geschäftsführer-Dienstvertrag aufzunehmen. Zusätzlich oder alternativ sollte er den Abschluss einer Manager-Haftpflichtversicherung, auch D&O-Versicherung („Directors & Officers“) genannt, erwägen und abschließen. Auch ein angestellter IT-Sicherheitsbeauftragter sollte sich hierzu Gedanken machen und im Zweifel entsprechenden Versicherungsschutz einfordern. Zur Sorgfaltspflicht eines Kaufmanns gehört es überdies, beim Auslagern von Aufgaben, etwa im Bereich IT-Sicherheit an dritte Unternehmen, einige wichtige Punkte zu beachten. Zunächst ist die richtige Auswahl des Dienstleisters entscheidend. Dieser muss geeignet und erfahren sein. Im Detail hängt hier viel vom Inhalt und Stellenwert der ausgelagerten Tätigkeiten ab. Aber auch den klaren Aufgabenbeschreibungen und entsprechenden Haftungsregelungen kommt eine besondere Bedeutung zu. Sind Daten auf externen Servern gespeichert, muss der Verantwortliche über eine sichere Verschlüsselung nachdenken, denn es geht womöglich um den Schutz eigener Geschäfts- oder Betriebsgeheimnisse oder personenbezogener Daten von Kunden und dergleichen. Bei diesen schreibt das Datenschutzrecht besondere Pflichten vor, wenn Dritte sie im Auftrag verarbeiten sollen (Details siehe [2]).

Alte und neue Meldepflichten Auf jeden Fall ist aber ein betrieblicher Datenschutzbeauftragter zu bestellen. Nur in wenigen Fällen kann man nach den gesetzlichen Vorgaben auf ihn verzichten. Werden diese Vorgaben verletzt und entsteht dadurch etwa bei einem Hackerangriff ein Datenleck, drohen Bußgelder seitens der Datenschutzbehörden von bis zu 300ˇ000 Euro. Bei vorsätzlichem Handeln drohen sogar Haftstrafen bis zu zwei Jahren. Im Rahmen der derzeit in Diskussion befindlichen EU-Datenschutz-Grundverordnung denken die Verantwortlichen über eine deutliche Anhebung der Bußgeldobergrenze nach (Details siehe [3]). Brisant sind die Meldepflichten bei Datenverlust. §ˇ42a des Bundesdatenschutzgesetzes schreibt eine Meldung an die zuständige Aufsichtsbehörde vor,

wenn vertrauliche personenbezogene Daten beispielsweise in die Hände eines Hackers gelangen. Zudem besteht die Pflicht zur Benachrichtigung der Betroffenen. Zu solchen Daten zählen etwa Bank- oder Kreditkartendaten von Kunden, die in einer Datenbank gespeichert werden. Ebenso persönliche Angaben wie Gesundheitsdaten oder Religionszugehörigkeit – also Daten, wie sie beispielsweise die Personalabteilung verarbeitet. Auch hier drohen Bußgelder von bis zu 300ˇ000 Euro, wobei bereits eine unvollständige Mitteilung an die Behörde oder die Betroffenen für das Verhängen eines Bußgelds ausreicht. Dieselben Regelungen gelten für Webseitenbetreiber, die unter das Telemediengesetz fallen.

Verschweigen kann teuer werden Für TK-Anbieter existieren ähnliche Melde- und Benachrichtigungspflichten. Sie müssen die Bundesnetzagentur und den Bundesdatenschutzbeauftragten auch dann informieren, wenn das Datenleck „einfache“, also weniger vertrauliche personenbezogene Daten betrifft. Ein Bußgeld kann hier bis zu 100ˇ000 Euro betragen. Ende Juli 2015 trat das lange Zeit umstrittene „Gesetz zur Erhöhung der Sicherheit informationstechnischer Systeme“, kurz IT-Sicherheitsgesetz, in Kraft. Bei der Verletzung der Meldepflicht von Sicherheitspannen durch Betreiber sogenannter kritischer Infrastrukturen drohen Bußgelder bis zu 50ˇ000 Euro. Sind Drittschäden eingetreten, also Schäden am Eigentum von Kunden, Geschäftspartnern oder sonstigen Dritten, stellt sich die Frage nach der Verantwortung. Grundsätzlich haftet man Dritten gegenüber nur für vorsätzliches oder fahrlässiges Handeln. Bei vertraglichen Beziehungen kommt es darüber hinaus auf die Ausgestaltung des jeweiligen Vertrages an. Ist beispielsweise die Datenspeicherung Vertragsgegenstand und werden ausgerechnet diese Daten vernichtet oder unbefugt einem Dritten zugänglich, steht der Dienstleister schnell im Fokus. Hat er alles getan, was er vertraglich hätte tun müssen, um einen solchen Schaden zu vermeiden? Auch außerhalb von Vertragsbeziehungen gibt es Haftungsrisiken. Kommt jemand durch einen IT-Angriff zu Schaden, ohne dass ein Vertrag besteht, kommen Ansprüche aus unerlaubter Handlung, Produkthaftung oder ProiX 9/2015


duzentenhaftung in Betracht (Details siehe [4]). Selbst wenn die Hürden für diese Anspruchsgrundlagen hoch sind, kann es viel Zeit und Nerven kosten, sie abzuwehren oder als Anspruchsteller durchzusetzen. Ist ein Schaden beim IT-Einsatz entstanden, steht die Aufklärung der Ursachen an. Beim Ermitteln und den Auswirkungen solcher Vorfälle sind ebenfalls rechtliche Aspekte zu beachten. Das gilt insbesondere, wenn sich ein Verdacht gegen eigene Mitarbeiter richtet und gegen diese zunächst verdeckt ermittelt werden soll. In solchen Fällen ist unbedingt auf das Einbinden des Betriebsrats und des Datenschutzbeauftragten zu achten (Details siehe [5]).

Fazit IT-Risiken und -Sicherheit sind Chefsache. Wer als verantwortlicher Geschäftsleiter diese Aufgaben nicht selbst erfüllen kann, muss bei der Auswahl und Beauftragung von Mitarbeitern oder externen Dienstleistern sorgfältig vorgehen, um nicht selbst in die Haftung genommen zu

werden. Zur Abwehr von IT-Risiken wie Hackerangriffen muss er alles unternehmen oder veranlassen, was für das jeweilige Unternehmen im Einzelnen erforderlich und angemessen ist. Im Zweifel sollten externe Berater herangezogen werden. Ist ein Schaden eingetreten, steht die Aufklärung und Schadenseindämmung im Vordergrund. Auch hierbei sind rechtliche Vorgaben etwa des Datenschutzes zu beachten. Nicht vergessen darf man in vielen Fällen die vorgeschriebene Benachrichtigung der Behörden, wenn personenbezogene Daten abhandenkommen. Auch hier muss der Einsatz externer Berater geprüft werden. Da diese teuer und die Aufgaben oft komplex sind, bieten bereits viele Versicherungen zusätzlichen Schutz in diesem Bereich an (siehe Marktübersicht Seite 40). Herauszufinden, ob und wenn ja welche Versicherung im Einzelfall geeignet und für das eigene Risikoprofil passend ist, ist eine schwierige Aufgabe, der sich die Verantwortlichen im höchsten Management aber stellen müssen. Denn auch das Nichtabschließen einer solchen Versiche-

rung kann eine persönliche Haftung auslösen, wenn dem Unternehmen durch einen Cyberangriff ein anderenfalls durch die Versicherung erstatteter Schaden entsteht. (ur)

Tobias Haar, LL.M. (Rechtsinformatik), ist Rechtsanwalt bei Vogel & Partner, Karlsruhe.

Literatur [1]ˇTobias Haar; Recht; Selbstgesteuert; Haftungsfragen rund um autonome Systeme; iXˇ1/2013, S.ˇ110 [2]ˇTobias Haar; Recht; Mietsache; Vertragliche Gestaltung bei SaaS und Cloud-Computing; iXˇ10/2014, S.ˇ100 [3]ˇTobias Haar; Recht; Wer ist hier der Boss?; Verantwortlichkeiten im Bereich IT-Sicherheit; iXˇKompakt 2014 – Security, S.ˇ148 [4]ˇTobias Haar; Recht; Absturzgefahr; Herstellerpflichten zur Sicherheit von Produkten; iXˇ01/2006, S.ˇ80 [5]ˇTobias Haar; Recht; Nachweislich; Juristische Aspekte der IT-Forensik; iXˇ5/2012, S.ˇ114


REVIEW | WEBBROWSER

Microsofts IE-Nachfolger Edge

Dekantiert Holger Schwichtenberg Den Internet Explorer darf man sicherlich den Webbrowser mit dem schlechtesten Ruf unter Webentwicklern nennen. In Windows 10 versucht Microsoft nun einen Neustart unter dem Namen Edge. Dahinter steckt zwar nichts von Grund auf Neues, aber die Entwickler haben bei der Rendering-Engine und der Benutzeroberfläche mächtig aufgeräumt.

W

indows 10 liefert Microsoft mit zwei Webbrowsern aus: Internet Explorer 11 und dem neuen Edge, den man unter dem Codenamen „Spartan“ entwickelt und am 21. Januar 2015 erstmals öffentlich erwähnt hat. Während der Redmonder Softwarekonzern mittlerweile bei vielen Produkten wie .NET und Microsoft Office plattformneutral agiert, ist dies für den Browser Edge bisher nicht angekündigt. Laut Inquirer (siehe „Alle Links“ im blauen Balken am Ende des Artikels) plant Microsoft bisher nicht, Edge für andere Betriebssysteme zur Verfügung zu stellen – selbst nicht für ältere Windows-Versionen. Edge ist in allen Varianten von Windows 10 enthalten und versteht sich als Teil des Betriebssystems. Der Installationsort ist dementsprechend c:\Windows\SystemApps. Zu Edge gibt es zwar eine GitHub-Seite (siehe wiederum „Alle Links“), bislang ist dort aber kein Quellcode des Browsers zu sehen, und Microsoft hat bisher keine Open-Source-Fassung angekündigt. Das Logo von Edge besteht – wie beim Internet Explorer – aus dem Buchstaben „e“. Beim User Agent String steht Edge ebenfalls in der Tradition des IE und meldet sich mit „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Ge-

52

cko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240“. Auf Zusatzangaben zur installierten Version von .NET und Infopath, die es im Internet Explorer gab, verzichtet Microsoft. Technisch realisiert ist der neue Browser als eine Modern Windows App, setzt demnach auf der Windows Runtime Library (WinRT) auf. Während die Modern Windows Apps in Windows 8.x immer im Voll- oder Halbbildschirmmodus liefen, residieren sie im PC-Modus von Windows 10 im normalen Fenster, sodass auf den ersten Blick kein Unterschied zur klassischen Windows-Desktop-Anwendung mehr erkennbar ist. Beim Aufruf des Browsers startet Windows die vier Prozesse MicrosoftEdge.exe und browser_broker.exe sowie zwei Instanzen von MicrosoftEdgeCP.exe (CP steht für Content Process). Für jede neue Registerkarte im Browser kommt ein MicrosoftEdgeCP.exe-Prozess hinzu. Hauptgrund für den schlechten Ruf des Internet Explorer war die RenderingEngine MSHTML (alias Trident), die manches anders macht als andere. Viele CSS- und JavaScript-Frameworks haben daher Fallunterscheidungen für den Internet Explorer eingebaut. Zwar hat Microsoft seit der Versionˇ8 viel an der Rendering-Engine verbessert, konnte jedoch die Fehler niemals ganz beseitigen. Eini-

ge moderne Webframeworks unterstützen ältere Internet-Explorer-Versionen gar nicht mehr. Beispielsweise berücksichtigt Twitters Bootstrap 3.x den IEˇ7 nicht und dokumentiert Einschränkungen auf weniger alten IE-Versionen. Google will sich bei Version 2.0 seines populären JavaScript-Frameworks Angular sogar noch deutlicher distanzieren: „Angular 2.0 requires at least Internet Explorer 11“.

Weg mit den ActiveXund Silverlight-Zöpfen Die überarbeitete Rendering-Engine von Edge nennt sich EdgeHTML. Sie basiert zwar auf dem Programmcode von Trident, verzichtet aber auf Kompatibilität zu seinem Vorgänger und unterstützt zahlreiche Browser-Techniken, die es nur im Internet Explorer gab, nun nicht mehr. Dazu gehören –ˇActiveX-Steuerelemente, –ˇVisual Basic Script als Alternative zu JavaScript, –ˇBrowser Helper Objects (BHO), –ˇdie Vector Markup Language (VML), –ˇDirectX Filters und Transitions und mehr (siehe „A break from the past“ aus dem Windows-Blog in „Alle Links“). Und einzelne proprietäre Funktionen aus dem Document Object Model (DOM), iX 9/2015


wie attachEvent, removeEvent und currentStyle, sind ebenfalls entfallen. Eine Liste von nicht mehr unterstützten APIs liefert Microsoft auf GitHub. Auch Silverlight, das seit dem Jahr 2012 nicht mehr weiterentwickelte BrowserPlug-in, entfällt und erhält damit einen weiteren Sargnagel. Adobes Flash ist hingegen dabei, der Anwender kann es aber unter den Einstellungen deaktivieren. In Summe hat das Entwicklungsteam über 220ˇ000 Zeilen Programmcode aus MSHTML nicht nach EdgeHTML übernommen, gleichwohl aber über 300ˇ000 Zeilen für neue Features ergänzt (siehe wiederum den Windows-Blog).

Internet Explorer weiterhin ausgeliefert Da aber in vielen Unternehmen die entfallenen Internet-Explorer-Features (insbesondere ActiveX und Silverlight) für Intranet-Anwendungen im Einsatz sind, kann Microsoft nicht darauf verzichten, den Internet Explorer 11 in fast unveränderter Form weiterhin auszuliefern. Man würde sonst diese Unternehmen daran hindern, Windows 10 einzusetzen. Auf viele herstellerspezifische Präfixe für CSS, die einst experimentelle von standardisierten Features abgrenzen sollten, will Microsoft ebenfalls verzichten. Das Edge-Team hat in erwähntem WindowsBlog-Eintrag angekündigt, zusammen mit den anderen Browser-Herstellern an neuen Verfahren zu arbeiten, wie man experimentelle Features abgrenzen kann. In Edge kann der Benutzer über einen versteckten Einstellungsbildschirm, den er über die Eingabe von about:flags im Adressfeld erreicht, experimentelle Features für CSS und JavaScript aktivieren (etwa Datumsund Zeiteingabefelder in HTML5 sowie die JavaScript-Untermenge asm.js). Edge unterstützt die gerade verabschiedete Versionˇ2 von HTTP. Unter dev.modern.ie/platform/status/ dokumentiert das Entwicklungsteam, welche Webstandards im Browser realisiert sind. Es fällt sofort auf, dass es noch viele Einträge „Under Consideration“ und „Not currently planned“ gibt. Darunter sind Standards, die noch in der Entwicklung sind (wie DragˇandˇDrop für Verzeichnisse als Teil der File-API des W3C), aber es gibt auch fertige Standards des Konsortiums (W3CRecommendations) wie die Unterstützung für Media Fragments sowie Server-Sent Events, die Edge bisher nicht realisiert. Gravierende Unterschiede zwischen Internet Explorer und Edge gibt es unter anderem in der Implementierung der Web iX 9/2015

Spartanisch: Die Heise-Eingangsseite in Microsofts neuem Browser Edge mit Einstellungsleiste (Abb.ˇ1)

Cryptography API. Laut der Kangax-Statistik ist Microsoft Edge dafür zumindest bei der Implementierung von ECMAScriptˇ6 führend. Bei der JavaScript-Geschwindigkeit hat Microsoft investiert und in die Chakra-Engine einige neue Optimierungen eingebaut (siehe den Link „Delivering fast JavaScript performanceˇ…“ in „Alle Links“). Damit konnte der neue Browser Edge schon in einer Vorabversion Geschwindigkeitstests gegen die Konkurrenz gewinnen, wie die Kollegen von heise online berichteten. Edge präsentiert sich – wie schon der Codename vermuten lässt – mit einer spar-

-TRACT ⚫ Windows 10 bietet außer dem Internet Explorer 11 auch den neuen Browser Edge. ⚫ Edge enthält eine überarbeitete Rendering-Engine mit den aktuellen HTML-, CSS- und JavaScriptStandards. ⚫ Viele proprietäre Funktionen wie ActiveX und Silverlight gibt es hier nicht mehr. ⚫ Mit Webannotationen können Benutzer Bemerkungen zu Webseiten speichern.

tanischen Benutzeroberfläche (siehe Abbildungˇ1). Die oberste Zeile des Browserfensters besteht aus Registerkarten und den in Windows üblichen Elementen zum Minimieren, Maximieren und Schließen des Fensters. Darunter bietet die Hauptleiste neben dem Eingabefeld für die Webadresse beziehungsweise den Suchbegriff die Funktionen vor, zurück, neu laden beziehungsweise abbrechen, Leseansicht, Favorit hinzufügen, Hub, Web Notes und eine Schaltfläche, um den Inhalt zu teilen. Teilen kann man dort bisher nur mit der OneNote-App und dem Windows-10E-Mail-Programm. Die Standardsuchmaschine ist das hauseigene Bing. Das Ändern der Standardsuchmaschine verbirgt sich unter (Advanced) Settings. Dort erscheinen Google und Co. aber nur, wenn man die Suchmaschinenstartseite zuvor in die eigenen Favoriten eingetragen hat. Unter „Hub“ versteht Edge eine Seitenleiste, mit der man Lesezeichen verwalten kann. Es gibt zwei solche Listen: Favoriten und eine Leseliste für Seiten, die man später besuchen, aber nicht zu Favoriten erklären will. Außerdem gibt es im Hub die Browser-Historie und die Liste der Downloadvorgänge. Die drei Punkte ganz rechts in der oberen Leiste (siehe Abbildungˇ1) stellen das Hauptmenü dar. Hier kann man zoomen, suchen, drucken, Einstellungen vornehmen oder zum Internet Explorer wechseln. Im Vergleich zum IE und anderen 53


REVIEW | WEBBROWSER

Browsern besitzt Edge nur wenige Einstellmöglichkeiten, die in einer Seitenleiste erscheinen (siehe Abbildungˇ1 rechts). Dazu gehören das Festlegen der Startseite, Popup- und Cookie-Blocker, Löschen des Browser-Cache sowie das Aktivieren und Deaktivieren von Microsoft-Cloud-Diensten, die vor gefährlichen Webseiten warnen (Smart Screen Filter) sowie Webseiten auf Basis des Verhaltens anderer Nutzer vorausschauend laden (Page Prediction). Beim Öffnen einer neuen Registerkarte präsentiert der Browser ein Sucheingabefeld, ein Anmeldesymbol für ein Microsoft-Konto, eine anpassbare Liste von „Top-Sites“ sowie aktuelle Nachrichten von msn.de. Einen privaten BrowsingModus findet man im Hauptmenü rechts oben. Alternativ kann der Benutzer die Tastenkombination Strgˇ+ˇUmschaltˇ+ˇP nutzen. In den Einstellungen kann man die Favoriten aus dem Internet Explorer und Chrome (sofern installiert) importieren. Vorhandene und mit Favoriten be-

stückte Installationen von Firefox und Opera werden aber ignoriert. Zu wichtigen neuen Funktionen gehören Web Notes (alias Webannotationen, siehe Abb. 4). Damit können Benutzer Webseiten mit Stift oder Textmarken beziehungsweise Textanmerkungen in Form von Sprechblasen markieren. Diese Annotationen kann ein Anwender in seinen Favoriten speichern und später wieder ansehen. Spannend ist das Format, in dem Edge die Daten ablegt: Während die Annotationen in einer HTML-Datei liegen, speichert der Browser die Webseite als Bildschirmfoto. Das bedeutet, dass der Benutzer aus einer gespeicherten Datei keine Texte mehr mit der Copy-and-PasteFunktion herauskopieren kann. Und die Webannotationen sind ebenfalls unveränderlich, man kann sie aber immerhin in die Zwischenablage legen. Der Anwender kann nur noch weitere Annotationen hinzufügen und diese unter neuem Namen speichern. Über OneNote kann man WebDer Lesemodus für eine Inhaltsseite von www.dotnet-lexikon.de ist unbrauchbar, weil viele Inhalte verschluckt werden (Abb.ˇ2).

annotationen mit anderen Menschen teilen. Auch Favoriten und den Browserverlauf synchronisiert der Softwarekonzern über OneDrive zwischen allen Windows10-Geräten, die dasselbe Microsoft-Konto verwenden.

Neuer Lesemodus: Unnötiges ausgeblendet Im neuen Lesemodus blendet der Browser alle aus seiner Sicht unnötigen Seitenelemente (beispielsweise Menüs und Grafiken) aus und präsentiert dem Benutzer lediglich den Inhalt der Webseite in leserlicher Form. Der Lesemodus zeigt außerdem Metainformationen über die Webseite (Autor, Datum, Herausgeber, Copyright et cetera), die der Webentwickler in Tags in die Seite einbauen kann (siehe den Link „Reading View“ über „Alle Links“ am Schluss des Artikels). Im Test funktioniert der Lesemodus nur bei Webseiten mit einfacher Struktur. Von komplexer aufgebauten Seiten wie der aus Abbildungˇ1 verschluckt Edge viele Inhalte (siehe Abbildungˇ2). Bei einigen komplexen Seiten wie der Startseite www.heise.de bietet Edge den Lesemodus gar nicht erst an. Webentwickler können den Browser mit dem meta-Element anweisen, den Lesemodus für eine Webseite nicht anzubieten: <meta name="IE_RM_OFF" content="true">

Edge-Developer-Tools: CPU-Auslastung durch JavaScript-Code und HTML-Rendering im Zeitablauf sowie die korrespondierenden Änderungen der Anzeige in Frames per Second (Abb.ˇ3) 54

Im Test war es nicht möglich, lokale HTML-Dateien zu betrachten. Sie lassen sich weder per DragˇandˇDrop in das Browserfenster ziehen noch über die Eingabe des Pfades in der URL-Leiste öffnen. PDF-Dokumente zeigt Edge hingegen ohne Zusatzkomponente direkt an. Der in Windows 10 mitgelieferte Internet Explorer 11 kann dies aber weiterhin nicht. Ein Doppelklick auf eine PDF-Datei im Dateisystem von Windows 10 öffnet Edge mit der Datei. Der Browser unterstützt auch den in Windows 10 integrierten Sprachassistenten Cortana. Edge soll laut einer Ankündigung auf der letzten Build-Konferenz für Chrome und Firefox geschriebene Browser-Erweiterungen laden können. Das ist derzeit aber noch nicht realisiert und soll erst in einem Update nachgeliefert werden. Die schon beim Internet Explorer über F12 erreichbaren Entwicklerwerkzeuge, die viele deshalb „F12 Developer Tools“ nennen, gibt es in Edge weiterhin. Microsoft hat nur einige Funktionen überarbeitet und erweitert. Den JavaScript Profiler und das UI Responsiveness Tool fasst Edge zu einer einzigen Ansicht (siehe Abbildungˇ3) zusammen. Die Anzeige im Network ProiX 9/2015


Mit Web Notes kann der Benutzer Inhalte mit Textmarker hervorheben und Notizen anheften (Abb.ˇ4).

filer ist übersichtlich. Für AJAX-Aufrufe gibt es nun Haltepunkte, die auslösen, wenn die Antwort vom Server kommt. Kleine Änderungen haben die F12Werkzeuge im Internet Explorer 11 in Windows 10 erfahren. So führt die Funktion View Source direkt in das F12-Fenster und nicht mehr wie bisher in ein einfaches Editorfenster. In den F12-Werkzeugen bezeichnet sich der IE 11 auch nicht mehr als Edge Mode. Microsoft verwendet schon seit Internet Explorerˇ8 die Bezeichnung „Edge“ für die jeweils höchste Kompatibilität zu Internetstandards.

Fazit Ob man den neuen Browser als Version 12 des Internet Explorer sieht oder als eigenständige Software, ist Auslegungssache. Microsoft möchte ihn aus Marketinggründen als ganz neues Produkt sehen. Wie

-Wertung ⊕ aufgeräumter, von Altlasten befreiter Browser ⊕ viele aktuelle Webstandards implementiert ⊕ Web Notes integriert ⊖ annotierte Webseiten werden als Grafik gespeichert ⊖ kein DragˇandˇDrop von Dateien in den Browser

dieser Artikel aber zeigt, verheimlicht das Edge-Entwicklungsteam nicht eine gewisse Verwandtschaft zum Internet Explorer. Klar erkennbar ist jedoch, dass Microsoft den Browser aufgeräumt sowie von vielen Altlasten befreit hat und nun redlich bemüht ist, mit dem neuen Browser den Standards zu folgen, statt eigene Wege zu gehen. Für Webentwickler kommt nun de facto ein weiterer Browser hinzu, gegen den es jede Webanwendung zu testen gilt. Mittel- bis langfristig kostspielig wird es für Unternehmen, die Browser-Techniken aus dem Internet Explorer einsetzen, die Edge nun nicht mehr unterstützt. Zwar können sie noch einige Jahre mit dem Internet Explorer 11 weiterarbeiten. Da Microsoft diesen aber nicht mehr weiterentwickelt, dürfte der Zeitpunkt kommen, da man für modernere Internetseiten den Internet Explorer nicht mehr einsetzen kann. Benutzer brauchen zu diesem Zeitpunkt für Intranet und Internet verschiedene Webbrowser, und dieser Umstand wird sicherlich einen enormen Druck auslösen, von ActiveX, Silverlight & Co. auf HTML5 zu migrieren. (hb)

Dr. Holger Schwichtenberg leitet das Expertennetzwerk www.IT-Visions.de, das Beratung, Schulungen und Softwareentwicklung im Umfeld von Microsoft- und Web-Techniken anbietet. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.

⊖ Unternehmen sind gezwungen, alte IE-Anwendungen abzulösen Alle Links: www.ix.de/ix1509052

iX 9/2015


REVIEW | APPLICATION SERVER

JBoss WildFlyˇ9 als Java-EE-7-Server

nikationsmuster der Version 1.1 (Client fragt, Server antwortet) hat den Nachteil, dass der Client zuerst herausfinden muss, welche Daten er benötigt, um diese nacheinander anzufordern. In der Regel versuchen Browser, dies zu beschleunigen, indem sie mehrere TCP-Verbindungen aufbauen. In Kombination führt das bei heutigen Webseiten mit vielen Bildern, JavaScript- und CSS-Dateien zu langen Ladezeiten.

Schnelles Laden im Web

Abgeflogen Oliver Kraeft Seit Juli 2015 steht nach zwei Release-Kandidaten die Versionˇ9 des JEE-Applikationsservers WildFly zur Verfügung. Er bietet einige Neuerungen und ist einer von fünf zertifizierten Java-EE-7-Servern.

N

ach einem guten Jahr der Entwicklung hat das WildFly-Team Ausgabeˇ9 seines JEE-Applikationsservers freigegeben. Schon die Anfang 2014 erschienene Versionˇ8 unterstützte den Java-EE-7-Standard mit den Ausprägungen Web und Full Profile. Kurz vor Erscheinen der aktuellen Ausgabe kündigte Oracle an, keinen Support mehr für Glassfishˇ4 anzubieten. WildFly bleibt damit der einzige Open-Source-Applikationsserver mit kommerziellem Support. Mittlerweile ist die Software einer von fünf zertifizierten Servern (WildFly, Oracles Glassfish, Hitachis Cosminexus 10, TMAX JEUSˇ8), seit Kurzem kommt noch WebSphere Liberty von IBM dazu. Die erste Veränderung fällt schon beim Download von WildFly auf. Neben einer Distribution für das Full- und das Web-

56

Profil gibt es eine weitere Servlet-onlyDistribution. Sie beinhaltet dazu nur einen Servlet-Container und beherrscht damit Servlets, JSPs (Java Server Pages), die EL (Expression Language) und WebSockets. Auch bei der Architektur von WildFly selbst gibt es Veränderungen. So haben die Entwickler die Kernkomponente (WildFly Core) separiert, sie erhielt eine eigene Versionsnummer und eigene Release-Zyklen: [*org.jboss.as] (Controller Boot Thread) — WFLYSRV0025: WildFly Full 9.0.0.Final — (WildFly Core 1.0.0.Final) — started in 10124ms*

Seit Versionˇ8 kommt der Webserver Undertow zum Einsatz, er unterstützt nun das Übertragungsprotokoll HTTP/2, den Nachfolger von HTTP 1.1 (vgl. S. 117). Es soll das Laden von Webseiten deutlich beschleunigen. Das einfache Kommu-

HTTP/2 verwendet bloß eine TCP-Verbindung, über die sämtliche Kommunikation zwischen Client und Server abläuft und über die ununterbrochen Daten fließen sollen. Ist die Verbindung aufgebaut, kann der Server genauso Daten an den Client senden (Server Push). Letzterer muss nicht mehr herausfinden, welche Daten er benötigt, sondern bekommt sie automatisch geliefert. Da der Server bei Nachrichten eine Rangfolge angeben kann, kann der Client wichtige zuerst bearbeiten. Dank Multiplexing können Client und Server beliebig viele Daten gleichzeitig senden und empfangen. Ersterer kann schon Anfragen stellen, während er noch empfängt. Da es nur eine Verbindung gibt, verringert sich ebenfalls die Zahl der versendeten HTTP-Header mit zum Teil redundanten Daten. Das System komprimiert und überträgt binär die Header, was ihre Größe reduziert. All dies beschleunigt das Laden von Webseiten deutlich. Damit WildFly HTTP/2 unterstützen kann, benötigt er ALPN (Application Layer Protocol Negotiation), eine Erweiterung von TLS (Transport Layer Security, Nachfolger von SSL). Es ist jedoch erst für Javaˇ9 geplant, sodass man der JVM eine entsprechende Bibliothek zur Verfügung stellen muss. Wer das ausprobieren möchte, findet eine Anleitung im Undertow-Blog (siehe „Alle Links“).

Load Balancer für andere Instanzen Eine weitere Neuerung ist, dass sich WildFly als Load Balancer für andere Instanzen verwenden lässt. Die BackendKnoten kann man dabei statisch im Frontend-Server festlegen, oder WildFly dient als Frontend für mod_cluster, das die vorhandenen Backend-Knoten dynamisch verwalten kann. Der Einsatz eines vorgeschalteten Webservers wie Apache entfällt somit. Ein weiterer Vorteil: Den Load BaiX 9/2015


lancer konfiguriert man genauso wie den Server selbst. Eine weitere nützliche Erweiterung ist die Option, das Bearbeiten eingehender Requests auszusetzen. Im Suspend-Modus weist der Server neue Anfragen zurück, geht alte aber noch an. Das bezieht sich auch auf gerade ausgeführte EJBs oder eine laufende Batch-Verarbeitung. Einschalten kann man diesen Modus mit dem Befehl suspend: ./jboss-cli.sh connect :suspend

WildFly gibt anschließend die Meldung „Suspending Server“ aus. Neu eingehende Requests beantwortet der Server mit dem HTTP-Status 503 (Service unavailable). Änderungen an seiner Konfiguration oder am Deployment respektive Undeployment lassen sich aber weiterhin vornehmen. Dem Befehl kann man zudem ein Timeout übergeben. Der Server wartet so, bis er alle Anfragen abgearbeitet hat, maximal jedoch bis zum angegebenen Timeout. Der Befehl :resume versetzt WildFly wieder in die normale Betriebsart. Der neue Modus lässt sich nicht nur verwenden, um die Konfiguration des Servers zu ändern, er ist auch nützlich, um ein sanftes Herunterfahren herbeizuführen. Beim Befehl :shutdown(timeout=x) kann man ebenfalls ein Timeout angeben. Der Server wechselt in den ResumeModus und fährt anschließend herunter.

Umgang mit Logs und CLI Mit dem Logging-Subsystem lässt sich das Herunterladen von Log-Dateien von einem WildFly-Server über ein HTTPGET-Kommando durchführen: http://localhost:9990/management/subsystem/ — logging/log-file/server.log?operation= — attribute&name=stream&useStreamAsResponse

Im WildFly-Blog findet sich zusätzlich ein curl-Beispiel: curl --digest -L -D - http://127.0.0.1:9990/ — management?useStreamAsResponse --header — "Content-Type: application/json" — -u user:password, -d '{"operation": — "read-attribute","address":[{"subsystem": — "logging"},{"log-file":"server.log"}], — "name":"stream"}'

So lässt sich schnell eine Log-Datei laden, ohne dass man sie aus den entsprechenden Verzeichnissen des WildFly-Servers kopieren muss. Das WildFly-CLI (Command-Line Interface) unterstützt nun einen Offline-Modus, mit dem man einen Server konfiguiX 9/2015

rieren kann, ohne dass dieser im Netzwerk sichtbar ist und man Port-Konflikte befürchten muss. Das CLI bettet ihn stattdessen ein und fährt ihn im Modus admin-only hoch. Damit startet er ausschließlich die Dienste, die für das Administrieren notwendig sind und keine Ports belegen. Der zugehörige Befehl lautet embed-server: ./jboss-cli.sh embed-server

Führt man zusätzlich den Parameter --std-out=echo aus, sind auch die LogAusgaben sichtbar. Stoppen lässt sich der eingebettete Server mit dem Befehl stopembedded-server. Möchte man eine bestimmte Konfigurationsdatei bearbeiten, kann man sie mit --server-config aufrufen: embed-server --server-config= — standalone-full.xml

Alternativ kann man genauso eine leere Konfigurationsdatei erzeugen: embed-server --server-config= — my-config.xml --empty-config

Eine weitere Option beim Konfigurieren ist, beim Aufrufen der Kommandozeile eine Datei mit CLI-Befehlen anzugeben: ./jboss-cli.sh --file=my-cli-commands.txt

Das CLI startet, führt die Kommandos in der Datei aus und beendet sich wieder.

Konsole für Administratoren Weiterhin gibt es die Administrationskonsole, die die Entwickler in Versionˇ9 überarbeitet haben. Sie ist lokal unter http://localhost:9990 erreichbar und erweckt in der neuen Ausgabe einen aufgeräumteren Eindruck. Beim Anlegen neuer Datenquellen umfasst sie nun einen Assistenten, der beim Eingeben hilft. WildFly unterstützt hier die Datenbanken PostgreSQL, MySQL, Oracle, MS SQL Server, DB2 und Sybase. Nach dem Auswählen folgen drei übersichtliche Formulare, deren Eingabefelder das System entsprechend der Datenbank mit sinnvollen Informationen ausfüllt. Hat man den Datenbanktreiber als Modul installiert, lässt er sich aus einer Liste auswählen. Abschließend kann man die Verbindung testen, und WildFly legt die Datenquelle an. Eine weitere Neuerung im Bereich Datenbanken ist das Leeren von ConnectionPools (Flush). Welche Verbindungen das System entfernt, lässt sich einstellen; vorgesehen sind Idle, Invalid und All.


REVIEW | APPLICATION SERVER

Aufgeräumt: Die Entwickler haben in WildFlyˇ9 auch die Administrationskonsole überarbeitet.

Über das Logging-Subsystem kann man Log-Dateien über ein HTTP-GETKommando herunterladen, die Funktion ist ebenso in der Administrationskonsole enthalten. Zudem lassen sie sich in der Konsole anzeigen, auch eine Textsuche ist in dieser Ansicht vorhanden. Zusätzliche Erweiterungen sind das Konfigurieren des Remoting-Subsystems und das Einspielen von Patches. Außerdem können Nutzer aus der Konsole heraus eine Verbindung zur Konsole einer anderen WildFly-Instanz aufbauen.

Frameworks und Bibliotheken Wie in jeder neuen WildFly-Version haben die Entwickler einige Frameworks und Bibliotheken aktualisiert. Das in der JEE-Spezifikation etwas stiefmütterlich behandelte Thema Sicherheit führte in der Vergangenheit zu einer Vielzahl anderer Security-Frameworks, wie Apache Shiro oder Spring Security. Auch aus dem Hause JBoss gibt es ein solches Framework mit dem Namen PicketBox (ehemals JBoss Security). Das neue WildFlyUnterprojekt Elytron soll mittelfristig die bisher verwendete Kombination aus PicketBox und JAAS und damit die client-

-Wertung ⊕ ⊕ ⊕ ⊕

Unterstützung von HTTP/2 kann als Load Balancer dienen sanftes Herunterfahren verbessertes Administrieren

sowie serverseitigen Sicherheitsmechanismen ersetzen. Die verwendete JAX-WS-Implementierung basiert auf dem eigenen Framework JBossWS in der Version 5.0.0.Final, das als Integrationsschicht für andere Webservice-Frameworks dient. Traditionell bindet man hier die Bibliothek Apache CXF ein, sie haben die Entwickler auf Ausgabeˇ3 aktualisiert. Die IIOP-Implementierung haben sie von JacORB auf OpenJDK Orb geändert. Der JCA-Container IronJacamar ist nun in der Version 1.2.4.Final Bestandteil von WildFly.

Fazit Bei Versionˇ8 lag der Fokus auf der Java-EE-7-Kompatibilität und dem neuen Webserver Undertow, Ausgabeˇ9 führt den eingeschlagenen Weg mit einigen Verbesserungen weiter fort. Undertow unterstützt nun HTTP/2 und kann als Load Balancer für andere WildFly-Instanzen dienen. Das Verwalten des Servers haben die Entwickler durch die neue Administrationskonsole, das sanfte Herunterfahren und die Optionen zum Offline-Konfigurieren verbessert. Damit empfiehlt sich WildFly weiter als Open-Source-Alternative zu anderen Java-EE-7-zertifizierten Applikationsservern. (fo)

Oliver Kraeft ist Senior-Softwareentwickler im Bereich Java EE bei der PIXEL GmbH. Nebenbei betreibt er die Website runnr.de.

⊖ teilweise nicht aktualisierte Dokumentation Alle Links: www.ix.de/ix1509056

iX 9/2015


REVIEW | METADATENMANAGEMENT

Embarcadero ER/Studio, ASG-Rochade und CA ERwin im Vergleich

Hintergrundwissen Sally Neumann, Andreas Schmidt

Metadaten sollen das Verständnis nackter Datenbankinhalte verbessern. Um den Wust an Kontextinformationen zu bändigen, benötigen Unternehmen ein Managementsystem. Das Angebot ist groß, drei Werkzeuge stehen hier zur Debatte.

R

eine Datenbankstrukturen sind manchmal schwer zu verstehen. Metadaten geben ihnen einen Kontext und machen sie so leichter verdaulich. Allerdings vergrößern die oft „Daten über Daten“ genannten Zusatzinformationen den ohnehin stetig wachsenden Datenberg. Erschwerend kommt hinzu, dass sie in unterschiedlichen Formaten – strukturiert, halbstrukturiert und unstrukturiert – vorliegen und sich in heterogenen Systemen an unterschiedlichen Stellen ansiedeln. Organisationen, die das Datensammeln nicht als bloßen Selbstzweck betreiben, sondern daraus geschäftlichen Nutzen ziehen wollen, müssen über die Anschaffung eines Systems zum Verwalten der Metadaten nachdenken. Im Idealfall lassen sich damit unternehmensweite Datenmodelle und Metadaten-Repositories aufbauen. Ein geeignetes Werkzeug zu finden, ist nicht einfach, denn wie immer in der IT gibt es mehrere Wege zum Ziel. Generell lassen sich Metadatenmanagementsysteme (MDMS) für die Datenmodellierung in die folgenden zwei Kategorien einordnen (siehe „Alle Links“ am Ende des Textes). iX 9/2015

Universal-MDMS eignen sich in erster Linie zur Systemdokumentation. Zu ihren Jobs gehört weiterhin, Metadaten zwischen unterschiedlichen Systemen auszutauschen. Ein solches Werkzeug beschreibt Strukturen, Systeme und Anwendungen, hilft zu analysieren, wie sich Änderungen auswirken, und bietet Funktionen zum Versionieren. Da die universellen MDMS jedoch Metadaten nicht selbst erzeugen können, gibt es sie

-TRACT ⚫ Mit Metadaten lassen sich umfangreiche Datenbankinhalte verständlicher darstellen und leichter zuordnen. ⚫ Da Metadaten ebenfalls Daten sind, benötigt man ein Managementsystem. ⚫ Der Markt für Metadatenmanagementsysteme ist groß. Die drei hier vorgestellten Produkte setzen ihre Schwerpunkte in unterschiedlichen Bereichen.

nicht als Einzelprodukt. Man verwendet sie immer in Kombination mit beispielsweise einem Datenmodellierungswerkzeug. Die zweiten Vertreter der Spezies, sogenannte metadatengesteuerte Systeme, sind meist in größere Produktpakete integriert. Mit ihnen lassen sich Informationen aus Datenbeständen extrahieren und für das Management aufbereiten. Zum Einsatz kommen sie vor allem im Data Warehousing. Hier sollen sie eine reibungslose Kommunikation zwischen MDMS und Metadaten-Repository gewährleisten.

Zwei Ausprägungen untersucht Im Rahmen einer prototypischen Umsetzung im Jahr 2014 haben die Autoren beide Ausprägungen evaluiert [1]. Für diesen Artikel wurden die technischen Daten und Bewertungen auf den aktuellen Stand gebracht. Der Fokus lag auf den Kategorien Verwaltung und Analyse, Darstellungsmöglichkeiten sowie Kollaboration und Nutzeradministration (siehe Kasten „Kri59


REVIEW | METADATENMANAGEMENT

Im Security Center des ER/Studio Architect verwaltet der Admin Rollen und Benutzer (Abb.ˇ1).

aus zwei importierten Modellen erstellen. Wer nicht nur Datenmodelle bereitstellen, sondern zusätzlich Informationen zum Beispiel über den Ursprung der Daten hervorheben möchte, dürfte diese Funktion schätzen. Data Governance, also das Sicherstellen der firmeninternen Korrektheit von Daten, unterstützt ER/Studio durch die Option zum Hinterlegen interner Standards zur Datenqualität. Damit lässt sich, ähnlich wie mit Check Constraints, die Integrität von Attributen und kompletten Datensätzen gewährleisten.

Datenschutzregeln lassen sich hinterlegen

Mit dem Wizard im ER/Studio TeamServer lassen sich Blanko-Online-Reports erstellen (Abb.ˇ2).

terienkatalog“). Bei der Priorisierung der Anforderungen boten die beiden metadatengesteuerten Systeme Embarcadero ER/Studio und CA ERwin Webportal sowie das Universal-MDMS ASG-Rochade den besten Abdeckungsgrad.

Embarcadero ER/ Studio XE7 Embarcadero ER/Studio Enterprise Team Edition XE7 besteht aus den Komponenten Data Architect, TeamServer, Modell-Repository und MetaWizard. Einige Funktionen zum Metadatenmanagement hat der Anbieter in den Data Architect integriert, andere in das Webportal TeamServer. Der Data Architect und der eingebundene MetaWizard von Meta Integration Technology dienen vorwiegend zum Erstellen sowie zum Importieren und Exportieren von Datenmodellen aus anderen Modellierungs- und ETL-Tools (Extract, Transform, Load) – entweder in deren eigenem Format oder in den Standardaustauschformaten XMI (XML Metadata Interchange) und XSD (XML Schema Definition). Zum Darstellen eines umfassenden Unternehmensmodells und seiner Untermodelle lässt sich sowohl der lokal installierte Data Architect als auch der TeamServer gebrauchen. Letzterer richtet sich mehr an den Fachanwender, der Data Architect konzentriert sich auf den technisch orientierten Kollegen. Zugriffs- und Schreibrechte auf Modelle und Glossare lassen sich für un60

terschiedliche Nutzer einschränken oder unterbinden. Die Zugriffsrechte kann der Administrator über ein im Data Architect eingebundenes Security Center bis auf die Submodellebene hinunter steuern (Abbildungˇ1). Einzelne Nutzer und Nutzergruppen ordnet er hier angelegten Rollen zu. Eine weitere Stärke zeigt ER/Studio beim Erstellen von Transformationen. Sie bilden den Datenfluss und somit die Datenherkunft grafisch ab. Das ist vor allem hilfreich bei der Impact-Analyse, die ermittelt, wie Änderungen ein System beeinflussen. In wenigen Schritten ließ sich eine aussagefähige Transformation

Kriterienkatalog Verwaltung und Analyse Lineage-Analysen (Abstammungsanalysen) Impact-Analysen (Auswirkungsanalysen) Business-Glossarfunktion Reporting-Funktion Data-Governance-Regeln hinterlegbar Datenschutzregeln hinterlegbar Darstellung Darstellung eines Unternehmensmodells webbasierte Darstellung Zusammenarbeit Kollaborationsfunktionen Ressourcenverwaltung (Versionierung) Nutzergruppen und Administration Rechteverwaltung/Zugriffskontrolle

Eine Funktion zum Aufstellen von Datenschutzregeln, Compliance- und Security-Klassifikationen von Modellen steht ebenfalls zur Verfügung. Dazu existieren anpassbare Vorlagen. Diese Regeln stehen nicht im Zusammenhang mit den im Security Center gesetzten Zugriffsrechten, sondern haben einen eher allgemeinen Informationscharakter. Sie werden zwar im Modell hinterlegt, überprüfen jedoch keine Daten. Zusätzlich ist das Anlegen individueller Regeln in Freitextform möglich, die man der Zielgruppe als Teil eines Metadaten-Reports vermitteln kann. Das Hinterlegen von Datenschutzregeln ist besonders für Unternehmen nützlich, die Wert darauf legen, dass ihre Daten selbst definierten oder externen Richtlinien genügen (Basel II, ISO/IEC 27002 et cetera). Aus den Metadaten kann der Anwender des ER/Studio Reports erzeugen und sie in allgemein lesbarer Form für das gesamte Unternehmen bereitstellen. Dazu bietet das Werkzeug Templates sowohl für logische als auch für physische Modelle. Im TeamServer gibt es zusätzlich die Option, die Struktur der Reports über ein Blankoformular auszuarbeiten. Man kann dazu das integrierte Reporting-Tool der Pentaho BI Platform nutzen (Abbildungˇ2). Die Reportfunktion soll vor allem dem Fachanwender das Verstehen der Modelle erleichtern. ER/Studio erlaubt kollaboratives Arbeiten. Dazu stellt der TeamServer einen Stream mit neuen Aktivitäten zur Verfügung, etwa das Generieren eines Glossars. Man kann hier einen Beitrag „liken“, ihm folgen oder ihn kommentieren. Jeder Benutzer darf ein eigenes Profil pflegen oder sich einer Gruppe anschließen. So sind die Mitglieder in der Lage, über die Metadaten zu diskutieren. Die Kommentare lassen sich mit dem ReiX 9/2015


pository des Data Architect synchronisieren. Das unterstützt die Modellierer und erhöht somit die Qualität der Datenmodelle. Um Kollisionen beim parallelen Bearbeiten eines Modells zu vermeiden, müssen die Nutzer es im Data Architect und dessen Modell-Repository zuvor auschecken. Es ist sogar möglich, dafür nur einen Teil des Modells zu wählen. Das Check-out versioniert das Modell automatisch. Zum besseren Verständnis kann man vor dem erneuten Check-in die vorgenommenen Änderungen beschreiben. Zu guter Letzt lohnt es sich, auf die ausgereifte Funktion zum Erstellen eines unternehmensweiten Business-Glossars hinzuweisen (Abbildungˇ3). Das Feature ist im TeamServer angesiedelt und soll vorwiegend Fachanwendern Modelle und deren Bezeichnungen erklären. Solche Glossare können Firmen bei der einheitlichen Kommunikation nach außen helfen und neuen Mitarbeitern den internen Wortschatz beibringen. Die Funktion beinhaltet die Option, Kind-Begriffe zu existierenden Einträgen zu erstellen, die eine weitere Untergliederung ermöglichen. Embarcadero ER/Studio bietet ein umfangreiches Set an Funktionen zur Datenmodellierung und zum Metadatenmanagement. Das Tool konzentriert sich auf Organisationen, die einzelne Datenmodelle oder das übergeordnete Unternehmensmodell einer heterogenen firmeninternen Zielgruppe (Fachanwender, technische Anwender) bereitstellen wollen und ihre Angestellten zur Mitarbeit animieren möchten.

ASG-Rochade Metadatenmanagement Das Universal-MDMS ASG-Rochade basiert nicht auf einem Datenmodellierungssystem und lässt sich mithin unabhängig von einem solchen betreiben. Die Suite besteht aus vielen kleinen, einzeln erwerbbaren Modulen, die sich teilweise ergänzen. Hauptkomponente für das Metadatenmanagement ist der Rochade Browser. Eine lokale Installation ist nicht notwendig. Zum Administrieren der Modellinformationen und Anwender benötigt man zusätzlich das Modul Metability, ein auf Eclipse basierendes GUI. Zudem braucht man für das Importieren von Modellen quellsystemspezifische Module. Der Anbieter passt die einzelnen Komponenten ständig an, und so erscheinen regelmäßig unabhängig voneinander neue Versionen. iX 9/2015

Das Glossar beantwortet eine Suchanfrage nach „Data Lineage“ (Abb.ˇ3).

So werden die Zugriffsberechtigungen mit Metability und dem Rochade Browser verwaltet (Abb.ˇ4).

Business-Glossar im Rochade Browser: Firmenwissen übersichtlich verpackt (Abb.ˇ5)

Wie ER/Studio verfügt Rochade über eine ausgereifte Nutzergruppenverwaltung mit Rechtevergabe. Sie ist im Modul Metability implementiert und lässt sich bis auf die Elementebene eines Modells sowie auf Glossare anwenden (Abbildungˇ4). Bei der Neuanlage darf der Nutzer zunächst gar nichts, Rechte müssen ihm explizit zugeteilt werden. Eine Besonderheit sind die Rollen-Templates. Beispiel: Die Rolle RBR_User erlaubt den Zugriff auf Rochades Browser. Das Bereitstellen der wichtigsten Rollen als Templates erleichtert die Zugriffskontrolle, die sich schneller umsetzen lässt als mit ER/Studio. Wer Business-Glossare einrichten will, muss das Ergänzungsmodul metaGlossary erwerben (Abbildungˇ5). Zudem lassen sich Glossare mit sogenannten Kontexten ergänzen. Der Benutzer kann detaillierte Datenherkunfts- sowie Wirkungsanalysen mit Rochade erstellen. Dazu nimmt das Tool die beim Import von Datenmodellen übermittelten Informationen und stellt sie als Diagramm oder Tabelle dar. Die Mög-

lichkeit, übermittelte Metadaten aus den importierten Modellen zum Darstellen von Datenflüssen heranzuziehen, macht das manuelle Nachbilden derselben obsolet. Das Werkzeug bietet damit bessere Analysefunktionen als ER/Studio.

Datenherkunftsund Auswirkungsanalysen Gut schneidet es bei einer Reihe von Standard-Bewertungskriterien ab. Dazu gehören die Mehrsprachigkeit und die Tutorials. Allerdings kann dieses MDMS kein Unternehmensmodell darstellen. Dazu benötigt man ein zusätzliches Datenmodellierungstool, beispielsweise InfoSphere Data Architect von IBM. Die Reporting-Funktion reicht nicht an die des ER/Studio heran, da sich keine HTMLReports generieren lassen. Mit den Kollaborationsfeatures des ER/Studio kann das Rochade MDMS ebenfalls nicht mithalten: Die einzige Kommunikationsoption sind Metanotes, eine Art Notizen. 61


REVIEW | METADATENMANAGEMENT

CUSTOMER_NOTICE –

customer_last_name

CUSTOMER

CUSTOMER_INVO… –

customer last name

customer_last_name

Beispiel einer Vorwärts-/Auswirkungsanalyse im ERwin Webportal (Abb.ˇ6)

Das Data-Governance-Label enthält einen Vermerk zum Optimieren der Entität Konto KRA (Abb.ˇ7).

Das Hauptaugenmerk liegt bei diesem Tool weniger auf der Webdarstellung der Datenmodelle, sondern auf den extrahierten Informationen, also etwa der Vorwärts-/Rückwärtsanalyse. Es eignet sich für Nutzer mit technischem Hintergrund und Datenmodellierungswissen. Großer Vorteil: ASG-Rochade arbeitet als Universal-MDMS mit verschiedenen Datenmodellierungssystemen zusammen.

CA ERwin r9.6 CA Technologies bietet das MDMS ERwin Webportal 9.6 als Ergänzungswerkzeug und Onlineplattform zum Datenmodellierungstool ERwin Data Modeler 9.6 an. Es basiert vollständig auf Komponenten von Meta Integration Technology. Dieses MDMS verwendet wie ER/Studio ein eigenes Datenmodellierungstool zum Laden von Modellen aus anderen Systemen.

Das Webportal besteht aus den beiden Komponenten Explorer und Manager. Mit dem Explorer können Fachanwender auf Modelle und Metadaten zugreifen und sie für Analysezwecke heranziehen. Mit dem Manager verwalten Administratoren Nutzer, Rollen und Modellversionen. Das MDMS kann nicht nur einzelne Modelle darstellen, sondern ein gesamtes Unternehmensmodell. ERwin Webportal überzeugt besonders durch seine ausgereiften Funktionen zur Modellanalyse, denn es bietet die Gelegenheit, die Herkunft der Daten zu ergründen (Data Lineage). Die offerierten Formen umfassen Rückwärtsund Vorwärtsanalyse, die den schon genannten Herkunfts- und Auswirkungsanalysen entsprechen. Die Ergebnisse lassen sich grafisch und tabellarisch anzeigen (Abbildungˇ6). In einer LineageDarstellung kann der Anwender zwischen den beiden Analysevarianten wechseln. Aufgrund der aussagekräfti-

gen Präsentationsformen sowie des einfachen Hin- und Herschaltens schneidet die Analysefunktion besser ab als die von Rochade. Data Governance unterstützt das Werkzeug mit Labels, einer Art Notiz an Modellen, die eine bessere Verständlichkeit der Modelle garantieren sollen. Sie haben den Vorteil, dass der Administrator sie nur einmal definieren muss. Im Anschluss sind sie über eine Drop-downListe für weitere Elemente (Entitäten, Attribute) anwendbar und über Modellversionen hinweg verfügbar (Abbildungˇ7). Anders als ER/Studio bietet ERwin keine weiteren Möglichkeiten zur Hinterlegung von Regeln. Wie die anderen beiden MDMS enthält auch dieses Tool im Metadata Manager eine Administrationsfunktion zum Anlegen eines unternehmensweiten Glossars. Über das Webportal legt der Benutzer Begriffe an und ordnet sie einer Kategorie zu, die sich weiter in Unterkategorien aufteilen lässt, was eine zusätzliche Anordnung der Begriffe zum Beispiel nach Themen ermöglicht. Eine Besonderheit: Berechtigte Nutzer dürfen Glossare über einen vorgefertigten (optionalen) Workflow erstellen und aktualisieren.

Keine Kommentare über Modellversionen Ähnlich wie Labels kann der Benutzer Kommentare zu einzelnen Modellen oder Modellelementen anlegen und sich die anderer Nutzer ansehen. Allerdings sind Kommentare nicht über Modellversionen hinweg verfügbar und nicht auf andere Modelle übertragbar. Beim Export des Modells vom Webportal zurück in den Data Modeler las-

Bewertung und Einsatzgebiete Anforderungen Verwaltung und Analyse Analysefunktionen (Impact/Lineage) Business-Glossar-Funktion Reporting-Funktion Hinterlegbarkeit von Regeln Darstellung Darstellung eines Unternehmensmodells webbasierte Darstellung Zusammenarbeit Kollaborationsfunktionen Ressourcenverwaltung (Versionierung) Nutzergruppen und Administration Zugriffskontrolle Einsatzbereich

Embarcadero ER/Studio

ASG-Rochade

CA ERwin Webportal

o ++ ++ +

+ ++ o –

++ ++ + o

+ +

– +

+ +

++ +

o o

+ ++

+

++

o

vornehmlich Kollaboration

62

vornehmlich Unabhängigkeit vom Datenmodellierungstool

vornehmlich Analyse

iX 9/2015


sen sich die Kommentare jedoch übernehmen. Vorschläge und Änderungen am Modell kann der Modellierer somit umgehend umsetzen. Zudem erleichtert die Kommentarfunktion das Zusammenarbeiten im Team. Mit den ausgereiften Kollaborationsfeatures im ER/Studio kann dieses Angebot jedoch nicht mithalten. Die Enterprise Edition erlaubt das Versionieren zum einen automatisch durch den wiederholten manuellen Import eines Modells, zum anderen durch die Definition desselben als „Harvestable Model“ im Webportal. Hier ist es über das Einstellen bestimmter Zeitintervalle möglich, das in Arbeit befindliche Modell regelmäßig und automatisiert mit dem DataModeler-Verzeichnis zu synchronisieren. Die Versionierungstaktik des Webportals fällt damit detaillierter aus als die des ER/Studio. Zwar können der Administrator und der Anwender ebenfalls Reports zu verschiedenen Themen erstellen. Sie sind jedoch weniger aussagekräftig als die des ER/Studio, da die Ausgabe ausschließlich in Tabellenform erfolgt. Das Webportal bietet eine Zugriffskontrolle, die aller-

iX 9/2015

dings nur das Anlegen von Nutzern und Rollen zulässt. Sie ist nicht ansatzweise so ausgereift wie die der beiden anderen Werkzeuge.

Fazit Vor allem unterscheiden sich die drei Systeme bei den Analysefunktionen. Nur das ERwin Webportal schnitt hier gut ab. Dennoch erwiesen sich alle MDMS als geeignet für ein effizientes Metadatenmanagement. Sie empfehlen sich jedoch für unterschiedliche Zwecke. Eine Übersicht der Leistungsmerkmale und Einsatzgebiete zeigt die Tabelle „Anforderungen und Bewertungen“. Einer der großen Nachteile vieler MDMS im Datenbankbereich: Sie sind oft nur als Teil einer großen Datenmanagementsuite erhältlich. Das gilt beispielsweise für die besprochenen Tools Embarcadero ER/Studio und den CA ERwin. Somit ist meist ein Datenmodellierungstool im Lieferumfang enthalten. Wer schon ein Werkzeug für die Datenmodellierung im Einsatz hat, muss trotzdem den Umweg über das im Paket ent-

haltene für den Import und Export der Modelle nutzen. (jd)

Sally Neumann ist Wirtschaftsinformatikerin mit einem Bachelorabschluss der Hochschule Karlsruhe.

Dr. Andreas Schmidt ist Professor für Datenbanken an der Fakultät für Informatik und Wirtschaftsinformatik der Hochschule Karlsruhe und wissenschaftlicher Mitarbeiter am Institut für Angewandte Informatik des Karlsruher Instituts für Technologie (KIT).

Literatur [1]ˇSally Neumann; Evaluierung von Metadaten-Managementsystemen und Realisierung von Prototypen für den Bereich IT-Finanzdienstleistungen; Bachelorthesis; Hochschule Karlsruhe; Technik und Wirtschaft, 2014 Alle Links: www.ix.de/ix1509059

63


REVIEW | VERTEILTES SPEICHERN

Speicher-Cluster-Software DRBD 9

Auf Zuwachs eingestellt

Martin Gerhard Loschwitz Versionˇ9 soll der etwas in die Jahre gekommenen Replikationssoftware DRBD neues Leben einhauchen. Ein erster Blick auf die neuen Funktionen zeigt: Das könnte klappen.

D

RBD war von Anfang an darauf ausgelegt, zwischen zwei Blockspeichern in zwei Rechnern Daten synchron zu halten. Ein Failover-Setup für MySQL etwa war ein typisches Einsatzszenario – das weltweit millionenfach in Betrieb sein dürfte. Aber die Welt dreht sich bekanntlich weiter: Vor Jahren ließen sich Administratoren und Manager mit solchen 2-Knoten-Clustern noch begeistern. Heute ist das Mantra der ITIndustrie hingegen das Skalieren in die Breite: Ist ein vorhandenes Setup für die gestellten Aufgaben nicht gut genug, stellt man einfach mehr Hardware dazu und erhöht so die Kapazität. Dateisysteme wie GlusterFS und insbesondere Ceph gruben DRBD das Was-

64

ser ab und ließen die Software wirken, als sei sie aus der Zeit gefallen. Bei der Arbeit an der Versionˇ9 fielen den Entwicklern aber einige Hacks der Vergangenheit auf die Füße. Letztlich musste Linbit für DRBD große Teile des Codes komplett neu schreiben. Nach einer zweieinhalbjährigen Betaphase war es im Juni so weit: DRBDˇ9 erblickte offiziell das Licht der Welt. Und das mit einem großen Versionssprung: Neben der Replikation über mehrere Knoten steht nun auch ein neues Verwaltungswerkzeug namens drbdmanage zur Verfügung, das die DRBD-Verwaltung in Cloud-Computing-Umgebungen massiv vereinfachen soll. iX hat sich die neue Versionˇ9 angeschaut und er-

klärt, ob sie das Produkt ins Hier und Jetzt bringt. Dass DRBDˇ9 nicht mehr viel mit seinem Vorgänger gemein hat, zeigt schon ein Blick in das GitHub-Verzeichnis von Linbit. Vergleicht man etwa DRBDˇ9 mit dem letzten Zweig von DRBDˇ8, nämlich 8.4, ist die Ausgabe von diff riesig. Einen realistischen Eindruck vom Umfang der Änderungen zeigt aber erst der Vergleich mit DRBD 8.3. In DRBDˇ8.4 haben die Entwickler nämlich diverse Funktionen bereits angelegt, die in DRBDˇ9 nun erst sinnvoll nutzbar sind. Da wäre zum Beispiel das Handling von TCP/IP-Verbindungen. Bei DRBDˇ8.3 war es üblich, dass jede Ressource eine eigene Verbindung offen hielt, um die Kommunikation zwischen den Clustern abzuwickeln. Als Ressource gilt im DRBD-Kontext ein einzelnes Block Device, das ein lokales Device eines Clusterknotens auf das eines zweiten Knotens spiegelt. Die große Schwachstelle des Ansatzes von DRBDˇ8.3 war, dass beim Ausfall einer der beiden Knoten die Replikation für unterschiedliche Ressourcen an unterschiedlichen Stellen abbrechen konnte. Es war also durchaus denkbar, dass bei einer MySQL-Datenbank, deren Ordner auf mehreren Ressourcen liegen, Inkonsistenzen zwischen den Tabellen in derselben Datenbank auftraten – beim Recovery ist das ein Albtraum. Außerdem war klar, dass das starre Verbindungshandling von DRBDˇ8.3 die Replikation über mehr als zwei Knoten nicht erlauben würde. Schon für die Versionˇ8.4 gingen die Linbit-Entwickler also daran, DRBD Verbindungen effizienter verwalten zu lassen. Als Folge konnte man bei 8.4 mehrere Ressourcen über die gleiche Verbindung abwickeln. Einerseits war die beschriebene Gefahr von Inkonsistenzen damit gebannt, andererseits konnte das Verbindungsmanagement von DRBDˇ8.4 so die Grundlage für die Versionˇ9 schaffen.

Ein generischer Transport-Layer DRBDˇ9 verspricht in Sachen Transportmedium deutlich vielseitiger als die Vorgänger der 8er-Reihe zu sein. Zwar kann auch DRBDˇ8 theoretisch bereits InfiniBand mit SRP (SCSI RDMA Protocol) nutzen; in der Praxis sind solche Setups aber absolute Ausnahmen. Üblich ist heute wohl TCP/IP über Ethernet. DRBDˇ9 könnte das ändern, denn mit den ModifiiX 9/2015


Weit mehr als zwei Knoten Die sicher auffälligste Neuerung in DRBDˇ9 ist die Unterstützung für Setups mit mehr als zwei Knoten. Zwar kannte auch DRBDˇ8 schon „Stacked Resources“, womit theoretisch die Replikation desselben Datensatzes auf vier Blockgeräte möglich war. Bei Linbit hielt man diesen Ansatz aber eher für die OffsiteReplikation geeignet als für ein sinnvolles Skalieren in die Breite. Auch mit gestapelten Ressourcen war eine einzelne nämlich auf zwei Replikationspartner beschränkt – es liefen in solchen Setups ein-

Der Transport-Layer ist in DRBDˇ9 vom Replikationsteil des Modules getrennt. Dadurch müssen Administratoren künftig zwei DRBD-Kernel-Module laden (Abb. 1). Quelle: Linbit

kationen in DRBDˇ9 haben die Entwickler ihrer Software einen neuen TransportLayer spendiert. Bis jetzt sind es Administratoren gewohnt, dass DRBD nur ein Kernel-Modul enthält, also drbd.ko, das sämtliche DRBD-Aufgaben abwickelt. Es kümmert sich um die Kommunikation mit den betroffenen Block-Devices wie auch darum, dass Pakete über das Netz ihren Weg zum Ziel finden. In DRBDˇ9 bietet drbd.ko stattdessen ein generisches Paket-Interface: Das eigentliche DRBD-Modul ist für Aufgaben wie die Replikation der Daten zuständig, übernimmt aber nicht ihren Transport. Stattdessen muss der Administrator künftig ein zweites Modul in seinen Kernel laden. DRBDˇ9 liegt ein TransportLayer-Modul bei, das die Kommunikation über Ethernet regelt. Zudem arbeitet Linbit an einem proprietären InfiniBand-Modul. Durch das generische Interface sind aber durchaus auch Module für andere Übertragungstechniken denkbar. De facto könnte der Transport-Layer von DRBDˇ9 sogar die schon seit einigen Jahren immer wieder angefragte Integration von Fibre Channel (FC) nachrüsten. Linbit erklärte auf Anfrage zwar, dass konkrete Pläne hierzu aktuell nicht existieren. Möglich wäre die FC-Unterstützung von DRBDˇ9 aber durchaus, wenn sich jemand findet, der die nötige Entwicklungsarbeit leistet.

DRBD TCP

Transport SSOCKS

SCTP TCP

Protokoll

iWARP

RoCE

IP IPolB

Medium

SCI

Hardware

Dolphin

Ethernet verschiedene Anbieter

InfiniBand Chelsio etc.

Mellanox etc.

Neben Ethernet gehört in Zukunft auch InfiniBand mit RDMA-Support zu den unterstützten Transportprotokollen. Weitere könnten folgen (Abb. 2).

fach zwei Ressourcen übereinander (die untere Ressource war für die Kommunikation zwischen den lokalen Hosts zuständig, die obere replizierte die untere auf einen dritten Rechner). Von Replikation über beliebig viele Knoten konnte also keine Rede sein. Genau diese Einschränkung fällt in DRBDˇ9 nun weg. Eine DRBD-Ressource hat also potenziell mehr als zwei Teilnehmer, sodass der gleiche Datensatz mehr als zweimal existiert. Das erhöht einerseits die Redundanz der Daten und lässt den DRBD-Cluster andererseits deutlich dynamischer werden – weil sich etwa innerhalb einer Installation mit vielen Knoten Ressourcen umstandslos von einem Knoten auf einen anderen verschieben lassen. Für das Skalieren in die Breite ist das Werkzeug drbdmanage verantwortlich, das der Artikel später noch ausführlich würdigt. Beim Umbau hin zu n-Knoten-Replikation haben die Entwickler gleich noch eine

-TRACT ⚫ Mit der Versionˇ9 hat die freie Storage-Cluster-Software DRBD nach langer Betaphase einen großen Versionssprung vollzogen. ⚫ Administratoren können mit dem zu DRBDˇ9 gehörenden Verwaltungswerkzeug drbdmanage nicht nur Cluster mit weit mehr als zwei Knoten verwalten. Es erleichtert auch das Einrichten des Clusters im Vergleich zu DRBDˇ8 erheblich. ⚫ Mit der OpenStack-Anbindung und dem InfiniBand-Modul richtet sich DRBDˇ9 für Cloud-Computing und große Cluster aus.

iX 9/2015

SCTP

RDMA

Reihe anderer Hürden beseitigt, die Administratoren in der Vergangenheit in schöner Regelmäßigkeit genervt haben. Bei DRBDˇ8 war in typischen Setups die eine Seite des Clusters aktiv, im DRBD-Sprech also primär. Nur die primäre DRBD-Ressource konnte der Administrator mounten und nutzen. Der andere Clusterpartner betrieb dieselbe Ressource im sekundären (secondary) Modus. Eine Ressource in diesem Modus lässt sich nicht aktiv nutzen. Der Haken: In DRBDˇ8 fiel dem Administrator die Aufgabe zu, Ressourcen in den primären oder den sekundären Modus zu schalten. Oft gaben Administratoren die Anforderung an den jeweiligen Clustermanager weiter, etwa an Pacemaker. Der OCF-Resource-Agent (Open Cluster Framework) für DRBD, der in Pacemaker DRBD-Ressourcen verwaltet, ist ein gutes Beispiel für die Auswüchse, die das händische Umschalten mit sich brachte.

Änderungen hier und da Bei DRBDˇ9 entfällt das. Eine DRBDRessource erkennt nun automatisch, ob ein Host sie nutzen soll, und schaltet sich flugs selbst in den primären Modus, falls nichts dagegenspricht. Ein Hindernisgrund wäre etwa, dass die gleiche Ressource schon auf einem anderen Host im primären Modus und der Betrieb im Multi-Primary-Modus für die jeweilige Ressource verboten ist. Umgebaut haben die Entwickler auch das Activity-Log (AL): DRBDˇnutzt es als 65


REVIEW | VERTEILTES SPEICHERN

drbdctrl

drbdctrl

drbdctrl

drbdctrl

A

A

E

E

B

B

B

Kontrollvolume – repliziert über alle Knoten

C

D

D

automatisch verwaltete replizierte Volumes

Spickzettel, um sich beim Ausfall eines Knotens zu merken, in welchem Zustand er zuletzt war. Wenn der vormals defekte Knoten den Cluster wieder betritt, greift der Mechanismus. Dank des Activity-Logs muss DRBD keinen kompletten Resync der Ressource durchführen, sondern nur einige wenige Pakete hin- und herschieben. Bei Ressource-Größen von mehreren TByte wäre ein vollständiges Resynchronisieren ohnehin unmöglich. Für DRBDˇ9 hat Linbit die Zahl der Einträge erhöht, die das AL maximal aufnehmen kann. Damit haben die Entwickler DRBD an das wachsende Fassungsvermögen der Festplatten angepasst.

drbdmanage als Segen für Administratoren Ein heimliches Highlight von DRBDˇ9 ist drbdmanage – heimlich deshalb, weil es nicht zum DRBD-Paket gehört. Auf dem Git-Server von Linbit handelt es sich etwa um zwei separate Projekte (siehe „Alle Links“ am Ende des Artikels). Zudem läuft das Tool aktuell noch unter dem Radar: Bis Redaktionsschluss hatte Linbit noch keine Version 1.0 von drbdmanage veröffentlicht, obwohl DRBDˇ9 als 9.0 schon zum Download zur Verfügung stand. Dass beide kombiniert werden wollen, ist aber offensichtlich: Die Schnittstelle, die das Werkzeug nutzt, gehört erst seit DRBDˇ9 zum Source. Mit einer älteren Version ist drbdmanage also gar nicht verwendbar. Der Nutzen von drbdmanage offenbart sich besonders den Administratoren schnell, die mit DRBDˇ8 gearbeitet haben: Dort ist das Aufsetzen einer neuen Ressource zwischen zwei Hosts nämlich eher umständlich. Im ersten Schritt legt der Administrator auf beiden Clusterknoten passende „Backing Devices“ an, also die Block Devices, die DRBD repliziert. Zur besseren Handhabung setzen die allermeisten Cluster zusätzlich auf den Logical Volume Manager LVM: Sie replizieren dann über einzelne LVs, nicht über ganze Festplatten. Das Backing Device 66

alleine reicht aber nicht. Hinzu kommt die händisch anzulegende Konfigurationsdatei, die obendrein zwischen den Clusterknoten synchron zu halten ist. Dann folgt eine Armada von Aufrufen des Kommandos drbdadm, das die Ressource auf beiden Seiten einrichtet und aktiv schaltet. Für DRBDˇ9 ist ein vergleichbarer Workflow undenkbar. Weil es sich über mehr als zwei Knoten erstreckt, müsste der Administrator die beschriebenen Schritte für jede Ressource auf jedem Clusterknoten ausführen. Überdies müsste er Buch darüber führen, welche Ressourcen auf welchen Knoten des Clusters aktiv sind. Seine Skalierbarkeit in die Breite erreicht DRBDˇ9 überhaupt erst dadurch, dass es für neue Ressourcen aus dem Pool aller Speichergeräte im Cluster passende Devices auswählt und zwischen ihnen die Replikation konfiguriert. Es haben also nicht alle Clusterknoten immer alle Daten – nur die Knoten, die für eine Ressource verantwortlich sind, haben den jeweiligen Datensatz. De facto wäre die händische Verwaltung von DRBD-9-Ressourcen auf einem Multi-Node-Cluster also eine absolute Sisyphusarbeit.

Automatisches Management Hier kommt drbdmanage ins Spiel: Zum einen exponiert es ein Kommandozeileninterface, über das der Administrator drbdmanage DBus drbdmanaged Config drbdadm

replizierte DB LVM

CLI call drbdsetup

dmsetup

Netlink DRBD Kernel driver

Device Mapper

drbdmanage setzt im Hintergrund auf DBus und bietet so auch anderen Tools eine brauchbare Schnittstelle (Abb. 4).

Quelle: Linbit

Quelle: Linbit

D

C

Skalierbarkeit in die Breite erreicht DRBDˇ9, indem es drbdmanage die vorhandenen Ressourcen automatisch verwalten lässt (Abb. 3).

die gewünschten Befehle an den Cluster übermittelt. Zum anderen setzt es auf ein Client-Server-System, wobei auf jedem Clusterknoten ein drbdmanage-Dämon läuft. Untereinander tauschen sich die Dienste über den Zustand des Clusters aus, wodurch jeder Dämon auf jedem Host stets über die Konfiguration aller anderen Hosts Bescheid weiß. Ihre eigene Konfiguration legen sie stilecht auf einer Ressource ab. Setzt der Administrator mit dem Kommando drbdmanage das System in Gang, veranlassen die Dämonen im Hintergrund, dass die notwendigen Arbeiten ausgeführt werden. Am Ende erhält der Administrator die Information, wie er auf seine neue Ressource zugreifen kann. De facto ist drbdmanage also ein umfassendes Management-Framework für DRBD, das dem Administrator einiges an Arbeit abnimmt. Weil drbdmanage den DBus nutzt und selbst eine passende Schnittstelle anbietet, ist es überdies der Zugangspunkt für andere ManagementWerkzeuge: Solche wie Proxmox können über drbdmanage etwa Ressourcen anlegen, ohne umständliche Parser für drbdadm zu schreiben. Prompt hat Proxmox in seine Beta-Version bereits die Unterstützung für drbdmanage eingebaut. Wahrscheinlich, dass andere diesem Beispiel folgen werden. Obwohl drbdmanage noch gar nicht so alt ist, ist sein Funktionsumfang bereits jetzt beeindruckend. Wer einen neuen Knoten zum bestehenden Cluster hinzufügen will, nutzt es dafür ebenso wie zum Verwalten der Ressourcen-Snapshots. Sinnvoll: Linbit setzt in drbdmanage konsequent auf LVM. Das Werkzeug verwaltet etwa den Speicherplatz auf Hosts, indem es über den physischen Speicher eine Volume-Group anlegt und dann LVs verwendet. Ressourcen lassen sich überdies gruppieren – Linbit spricht von Pools. Sogar Thin Provisioning funktioniert über sogenannte Thin Pools. Laut drbdmanageRoadmap soll das Werkzeug künftig etwa die Möglichkeit bieten, Ressourcen anhand ihres Standortes zu verwalten. Damit einher geht Rack Awareness – wobei Linbit eher in Dimensionen von Rechenzentren denkt. Follow-the-Sun-Setups wären dann vollständig per drbdmanage verwaltbar, ohne Eingreifen des Administrators. Auch wenn drbdmanage 1.0 diese Funktion noch nicht unterstützen sollte, ist das Werkzeug definitiv ein großer Gewinn für DRBDˇ9. Linbit möchte mit DRBDˇ9 offensichtlich Cluster-Dateisysteme wie Ceph oder GlusterFS angreifen. Auch in diesem ZuiX 9/2015


sammenhang spielt drbdmanage eine Rolle: Damit in Zukunft Administratoren DRBDˇ9 als Alternative zu den vormals Genannten sehen, ist die funktionierende Anbindung an Cloud-Umgebungen Pflicht. OpenStack ist derzeit nicht nur medial omnipräsent, sondern auch ein ernsthafter Kandidat für viele Firmen, die eine Cloud-Umgebung planen.

Im Wolkenkuckucksheim Das sieht man bei Linbit wohl ähnlich: Schon seit Monaten ist das Wiener Unternehmen im Kontakt mit den Entwicklern von OpenStack Cinder und OpenStack Nova, um einen entsprechenden Treiber für DRBD in diese OpenStack-Komponenten zu integrieren. Die Treiber-Versionen, die zu Redaktionsschluss bereitstanden, nutzen konsequent drbdmanage – wer etwa per OpenStack-API ein Volume auf einem DRBD-Cluster anlegt, setzt damit indirekt auch drbdmanage in Gang. Ein schneller Test der Git-Version des Cinder-Treibers zeigt, dass der Ansatz der richtige ist. Bevor sich die Kombination wirklich sinnvoll einsetzen lässt, muss Linbit aber noch ran: Wünschenswert wäre zum Beispiel, DRBD-Ressourcen durch OpenStack dynamisch auf den Hosts anlegen zu lassen, auf denen die VM läuft. Die könnte dann lokal auf ihren Speicher zugreifen, ohne den latenzlastigen Weg übers Netz zu nehmen. Verglichen mit Ceph und anderen Storage-Clustern wäre das jedenfalls ein echtes Alleinstellungsmerkmal – und für latenzgeplagte Administratoren ein Segen. Immerhin: Seit der „Kilo“-Release von OpenStack 2015.1.0 ist aufseiten von Nova und Cinder der nötige Funktionsumfang vorhanden. Bleibt zu hoffen, dass Linbit zeitnah einen Cinder-Treiber

iX 9/2015

für drbdmanage liefert, der ihn auch nutzen kann. Traditionell hat das Thema Performance in IT-Umgebungen ein hohes Gewicht. Wann immer Red Hat etwa Ceph oder GlusterFS erwähnt, weist es ausführlich auf die hohen Schreib- und Leseraten hin, die beide Systeme bieten. Will DRBDˇ9 sich mit den Konkurrenten messen, muss es also definitiv auch auf diesem Gebiet mithalten. Dabei ist für DRBD die Ausgangssituation ungleich schwieriger als für die Konkurrenz: Es arbeitet auch in Versionˇ9 mit Block-Geräten. Die Objekt-Zwischenschicht, die etwa Ceph einzieht, fehlt bei DRBD zur Gänze. Gerade durch jene erreicht Ceph aber seine beeindruckenden Lese- und Schreibraten: Indem viele kleine Objekte gleichzeitig auf mehreren parallel arbeitenden Platten im Hintergrund landen. Im ersten Augenblick scheint es also, als kämpfe DRBDˇ9 auf verlorenem Posten.

Das leidige Thema Performance Doch die Realität ist eine andere. Tatsächlich kommt DRBDˇ9 bei den parallelen Schreibvorgängen gegen Ceph nicht an. Schon deshalb, weil die Zahl simultaner Schreiboperationen in Ceph proportional zur Zahl aller Platten im Cluster wächst. Mehr Spindeln führen bei Ceph also dazu, dass sich mehr Schreibvorgänge parallel abwickeln lassen. Diese Art der Betrachtung bezieht aber nur die eine Dimension von Performance ein – nämlich den Durchsatz. Bekanntlich kennt Performance aber auch die Latenz als zweite Dimension, vulgo: Reaktionsgeschwindigkeit. Eine hohe Latenz schmerzt folglich besonders den Administrator, dessen Applikationen nicht parallel arbeiten, son-

-Wertung ⊕ Vereinfachung der Verwaltung mit drbdmanage ⊕ weit in die Breite skalierbar ⊕ automatische Ressourcen-Nutzung ⊕ OpenStack-Unterstützung ⊕ geringe Latenzen bei Schreibzugriffen ⊖ keine Parallelisierung der Schreibzugriffe ⊖ InfiniBand-Modul proprietär und kostenpflichtig

dern seriell. Dazu zählen vor allem Projekte, die im Hintergrund eine Datenbank nutzen. Entsprechende Queries sind häufig seriell, werden also nacheinander ausgeführt und abgearbeitet. Bei dieser Art von Schreibmustern bekleckert sich Ceph erfahrungsgemäß nicht mit Ruhm – denn dieselbe Zwischenschicht, die für das Parallelisieren der Schreibzugriffe verantwortlich ist, verlangsamt einzelne erheblich. Sandisk und Fujitsu können ein Lied davon singen: Im Rahmen des letzten Ceph-Days in Berlin erklärten beide Unternehmen, dass sie an geringeren Latenzen in Ceph arbeiten. Mittlerweile sei man so weit, dass 700 IOPS möglich sind. Eingedenk der Tatsache, dass selbst Ethernet erst bei mehr als 3000 IOPS an seine Grenzen stößt, ist dieser Wert enttäuschend. Und wer seine Datenbanken auf Fusion-ios ioDrives betreibt und 50ˇ000 IOPS oder mehr gewohnt ist, kann über solche Werte nur lachen. Genau an dieser Stelle kann DRBDˇ9 punkten: Weil der aufwendige ObjektLayer fehlt, ist die inhärente Latenz beim Datenschaufeln bei DRBDˇ9 deutlich geringer als bei Ceph. Auf Ethernet-Links erreicht DRBDˇ9 ohne Schwierigkeiten das physikalische Limit des Mediums. Damit

67


REVIEW | VERTEILTES SPEICHERN

Linbit ist aktiv an der Entwicklung eines drbdmanage-Treibers für Cinder beteiligt, sodass DRBDˇ9 künftig mit OpenStack zusammenspielt (Abb. 5).

schlägt die Software aus Wien dem hoch gehandelten Ceph klar ein Schnippchen.

InfiniBand: Ja, aber proprietär Noch geringere Latenzen sind mit einer anderen Transporttechnik möglich, denn InfiniBand ist genau darauf ausgelegt. Da scheint es nur konsequent, dass Linbit sich mit InfiniBand-Spezialist Mellanox zusammengetan hat und ein Add-on für natives InfiniBand samt RDMA entwickelt. Grundlage dafür ist der zuvor beschriebene Transport-Layer. Einen schalen Beigeschmack hinterlässt der Umstand, dass Linbit das Addon in Form eines proprietären Produktes vermarkten will, an dem ein separates Preisschild klebt. Offenbar nimmt man in Wien an, dass Unternehmen mit entsprechendem Bedarf gern bereit sind, entsprechend zu zahlen. Tatsächlich ist das InfiniBand-Modul auch nicht das erste proprietäre DRBD-Add-on, mit dem Lin68

bit experimentiert. Schon vor einigen Jahren bot DRBD+ die Option, an einen existierenden Cluster mit zwei Knoten einen dritten Knoten anzuschließen. Zwischenzeitlich stampfte das Unternehmen dieses kommerzielle Add-on allerdings fast lautlos ein. Ob man mit InfiniBand mehr Erfolg haben wird, muss die Zeit zeigen. Wer die nötige Hardware sein Eigen nennt und DRBD auf InfiniBand testen möchte, kann sich bei Linbit übrigens eine kostenlose Test-Version besorgen, die zwar nach 24 Stunden den Betrieb einstellt, ansonsten aber sämtliche Funktionen der Kaufversion bietet.

Ceph oder GlusterFS in vielerlei Hinsicht ebenbürtig. Freilich kommt Version 9.0 mit dem einen oder anderen Schönheitsfehler daher. Auf der DRBD-User-Mailingliste meldeten sich bereits die ersten Nutzer, die Bugs in der neuen Version gefunden haben. Von einer Major Release dieses Umfangs war das allerdings auch nicht anders zu erwarten. Wenn es Linbit gelingt, den DRBDCode zu stabilisieren und weiter auszubauen, wird sich DRBDˇ9 am Markt etablieren. Bonbons wie der von Linbit forcierte OpenStack-Support tun ihr Übriges. (sun)

Martin Gerhard Loschwitz

Fazit Linbit erweitert DRBDˇ9 um viele Funktionen, die Administratoren bisher vermissten. Die Entwickler stellen klar unter Beweis, dass DRBD als Produkt nicht am Ende ist, sondern am Markt auch den gefeierten Produkten der Gegenwart wie

arbeitet als Cloud Architect bei SysEleven in Berlin. Er beschäftigt sich dort bevorzugt mit den Themen Distributed Storage, Software-Defined Networking und OpenStack. Alle Links: www.ix.de/ix1509064

iX 9/2015


REVIEW | CLOUD

N

achdem in Rechenzentren in den letzten Jahren das Virtualisieren von Serversystemen zum Standard geworden ist, stehen inzwischen operative Erleichterungen sowie das Automatisieren, Orchestrieren und Bereitstellen von IT-Diensten aus einer Cloud auf der Wunschliste vieler Unternehmen. Bei der Public Cloud haben Amazon mit seinen Web Services (AWS) und Microsoft mit Azure Maßstäbe für Bedienungsfreundlichkeit und Funktionsumfang gesetzt. Deren Angebote stehen jedoch ausschließlich in einer öffentlichen Cloud zur Verfügung, gegen die es insbesondere in Deutschland Datenschutzbedenken gibt. Viele Unternehmen möchten dennoch die Vorteile des Cloud-Modells nutzen und das Bereitstellen von IT-Diensten vereinfachen, beschleunigen und flexibilisieren. Idealerweise sollte man dabei die internen, im eigenen Rechenzentrum verfügbaren Services sowie die IT-Angebote aus der öffentlichen Cloud mit denselben Mechanismen verwalten können. Das würde zudem die sogenannte Schatten-IT – wie das undokumentierte Nutzen externer Cloud-Dienste durch Fachabteilungen oder Einzelpersonen – wieder unter die Kontrolle der Administratoren bringen. Wenn ein derartiges Cloud-ManagementSystem (CMS) zudem noch mandantenfähig ist (sicheres Trennen mehrerer Kunden mit ihren Ressourcen und Netzen in einer Umgebung), können Serviceprovider ihre Prozesse vereinfachen und ihren Ressourcenbedarf minimieren. Hier setzt VMware mit vRealize Automation (vRA) an, das nach einigen Überarbeitungen seit Dezember 2014 inzwischen in Version 6.2 zur Verfügung steht. Zunächst hatte das Unternehmen sein zugekauftes Automatisierungswerkzeug Lab Manager für Schulungs- und Entwicklungsumgebungen angeboten, einen Vorläufer von Infrastructure as a Service (IaaS). Es war allerdings nicht mandantenfähig, daher entwickelte VMware den Nachfolger vCloud Director (vCD, siehe iX-Artikel „Überführung“ [1]). Er beschränkte sich beim Provisionieren jedoch auf die hauseigene Hypervisor-Umgebung vSphere, ignorierte Produkte anderer Hersteller, erlaubte kaum Anpassungen der Oberfläche, und das Erweitern mit zusätzlichen Funktionen per Workflow war mit dem vCenter Orchestrator keineswegs einfach. Um diese Nachteile auszugleichen, erwarb VMware 2012 den Credit-SuisseAbleger DynamicOps, aus dem vRA hervorging (anfänglich unter dem Namen vCloud Automation Center, vCAC). Es iX 9/2015

Verwalten von Clouds mit VMwares vRealize Automation

Unter einem Dach

Guido-Arndt Söldner, Constantin Söldner, Jens-Henrik Söldner VMware will das Durcheinander seiner Tools zur CloudVerwaltung bereinigen und mit vRealize Automation ein Produkt für alle Fälle anbieten. Es integriert unterschiedliche Hypervisoren und externe Clouds in eine Oberfläche, zudem ist es mandantenfähig und erweiterbar. Allerdings erscheint manches nicht aus einem Guss. unterstützt alle relevanten Hypervisoren und Cloud-Umgebungen zum Provisionieren von IaaS-Workloads, außerdem beherrscht es das automatisierte Installieren von Hypervisoren auf physischen Serversystemen wie Ciscos Unified Computing System (UCS). Seit 2013 ist es VMwares

favorisierte Cloud-Verwaltungsplattform für solche Umgebungen. Seitdem spielt vCD keine Rolle mehr – der Hersteller führt das Produkt jedoch für Serviceprovider-Kunden mit öffentlichen Clouds und als technische Basis des hauseigenen Public-Cloud-Dienstes vCloud 69


REVIEW | CLOUD

Service Catalog für einen Mandanten vRealize Orchestrator Workflow (XaaS)

IaaS Blueprint

Im Servicekatalog (wahlweise pro Mandant einzurichten) stehen Infrastruktur-, Plattform- und Custom-Dienste (XaaS) zur Auswahl. Letztere steuert vRealize Orchestrator als Workflows bei, virtuelle Maschinen definiert man mit Blueprints (Abb.ˇ1).

Air weiter. Für Käufer, die 2013 gerade erst in den Aufbau einer solchen Umgebung investiert hatten, bestand Erklärungsbedarf – Grund genug, die aktuelle vRAVersion im Detail anzuschauen und der Frage nachzugehen, ob es VMwares Kurswechsel bei der Private Cloud rechtfertigt.

Benutzer wählen aus dem Servicekatalog Zu den Anforderungen an ein CMS gehört neben einem Self-Service-Portal samt Service Catalog für Benutzer vor allem eine breite Unterstützung von Hypervisoren und Cloud-Systemen zum automatischen Provisionieren der Workloads. Das System soll virtuelle Maschinen (VMs) anlegen, die zugehörigen Ressourcen verwalten und komplette Netze inklusive Zusatzdienste wie Load Balancer oder DHCP-Server dafür einrichten. Für Serviceprovider und große Unternehmen ist zudem die Mandantenfähig-

keit ein entscheidendes Feature. Außerdem soll das CMS die Kosten fürs Bereitstellen von Ressourcen und IaaS-Systemen offenlegen und bei Bedarf in Rechnung stellen. Zusätzlich soll es Platform as a Service (PaaS) etwa für Entwickler bieten und erweiterbar sein. Version 6.2 von vRA tritt mit dem Anspruch an, diese Anforderungen zu erfüllen. Kunden können es als Einzelprodukt oder als Teil der vRealize-Suite einsetzen, die die benötigten Basisprodukte beinhaltet. Alternativ kann man ein Upgrade von vSphere auf Letztere erwerben. Falls der Kunde andere Hypervisoren wie Microsofts Hyper-V, Citrix’ XenServer oder KVM beziehungsweise Cloud-Umgebungen wie Red Hats Enterprise Linux OpenStack oder Amazons AWS verwalten will, steht vRA als eigenständiges Produkt zur Verfügung. Dennoch ist es in erster Linie für vorhandene VMware-Umgebungen gedacht. Nach der Inbetriebnahme der aktuellen vRA-Version fällt zunächst (im Vergleich

-TRACT ⚫ VMwares vRealize Automation (vRA) verwaltet virtuelle Maschinen und Services auf unterschiedlichen Hypervisoren und in Public Clouds unter einer gemeinsamen Oberfläche. ⚫ Benutzern und wahlweise Mandanten stellt vRA in einem Servicekatalog Dienste bereit: virtuelle oder Cloud-Maschinen (IaaS), Software-Stacks (PaaS) sowie per Workflow angepasste Dienste (XaaS). ⚫ vRA löst die Vorgänger vCloud Director und Lab Manager ab. Version 6.2 unterstützt unter anderem Hyper-V, Citrix Xen und KVM sowie AWS.

70

zur Vorgängergeneration vCAC 5.2) die in großen Teilen neue grafische Oberfläche des Selbstbedienungsportals auf. Kam in den Versionen vor 6.0 für die Portal-Webseite Microsofts ASP.NET zum Einsatz, ist VMware inzwischen wie bei seinen anderen Produkten zu Java gewechselt. Leider ist diese Portierung unfertig: In der Benutzeroberfläche gibt es immer noch per iFrame gekapselte ASP.NET-Elemente, die von einem separaten Windows-Server stammen. Die für den Anwender vergleichsweise intuitiv zu bedienende Oberfläche kann der Administrator in gewissen Grenzen anpassen – eine Verbesserung gegenüber dem Vorläufer vCD. Benutzer bestellen im Self-Service-Portal wie in einem AppStore IaaS-, PaaS- und sonstige Angebote (Anything as a Service, XaaS) – Abbildungˇ1 zeigt ein Beispiel. Allerdings verhält sich das GUI manchmal träge, was unter anderem am Zusammenspiel der Linux-Appliance und der Windows-Komponenten liegt. Kunden können das Portal mit ihrem Logo versehen (Branding) und die Farbgebung austauschen, Benutzer können auf der Startseite eigene Komponenten konfigurieren (Portlets). Sonstige Anpassungen und Erweiterungen des SelfService-Portals sind nicht vorgesehen. Im zentralen Service Catalog verzeichnet vRA alle Ressourcen, die Anwender anfordern können. Mit einem Berechtigungs- und Genehmigungskonzept definiert man, welcher Benutzer welche Angebote sieht und welche Ressourcen ihm zur Verfügung stehen. Einige Add-ons sind jedoch nicht in das Portal integriert, sondern unter einer eigenen URL zu erreichen, etwa die Application Services (PaaS-Angebote).

Hypervisor und Clouds unter einem Dach vRA kennt nicht nur mehrere Hypervisoren und Cloud-Systeme, sondern bindet sie anders an als das Vorläuferprodukt vCD, das VMs nur in vSphere erzeugte und verwaltete. Es arbeitet zudem mit VMware-Produkten wie vRealize Operations und vRealize Business zusammen. Allerdings lohnt sich ein Blick in die Support-Matrix, weil es teilweise nur veraltete Versionen unterstützt: etwa Hyper-V 2012 (jedoch nicht Releaseˇ2), bei OpenStack nur Grizzly und Havanna. Microsofts Azure wird derzeit nicht unterstützt. Das automatisierte Provisionieren von Hypervisoren auf Hardware ist momentan nur auf Systemen von HP, Dell und Cisco vorgesehen. iX 9/2015


iX 9/2015

Quelle: VMware

Je nach Zielplattform stehen unterschiedliche Methoden zum Provisionieren zur Verfügung. Beim Einsatz von vSphere kann der Administrator ein Template anlegen, das auf Benutzeranforderung hin geklont und angepasst wird. Mit vorgefertigten Workflows lassen sich Systeme etwa per Skript, PXE-Bootserver oder ImagingSystemen installieren. Das Feintuning der erstellten VMs erledigt eine für Windows und Linux verfügbare Agentensoftware, die nach dem Betriebssystem weitere Installationsschritte per Skript ausführt (das das Template mitliefert). Blueprints beschreiben alle Aspekte der zu erstellenden IaaS-Ressource. Sie konfigurieren etwa die zu provisionierenden Maschinen samt Hardwareeinstellungen und Lebenszeit (abgelaufene Maschinen werden gelöscht oder archiviert). Zudem spezifizieren sie die Plattform der Maschine (Hypervisor, Cloud oder physische Maschine) und steuern sie. Außerdem geben sie die Art der Provisionierung vor (etwa vorlagenbasiertes Klonen oder Installation per Preboot Execution Environment, PXE), teilen Ressourcen zu, legen die Benutzerrechte fürs selbstständige Konfigurieren fest und begleiten

Service Delivery mit vRealize Automation Infrastructure Services (IaaS)

Application Services (PaaS)

– Provisionierung virtueller Maschinen (vSphere, Hyper-V, XenServer, KVM)

zentrale Provisionierung und Verwaltung von Software-Stacks

– Provisionierung von Cloud-Maschinen (vRealize Air, Amazon, Red Hat OpenStack)

– Drag-and-Drop-Designer für die Erstellung von Software-Stacks

– Provisionierung physischer Maschinen (Dell, HP, Cisco)

– separate Appliance mit eigenem User-Interface

Custom Services (XaaS) – Integration von vRealize Orchestrator Workflows zur Erweiterung bestehender Infrastructure Services – direkte Ausführung von vRealize Orchestrator Workflows aus dem Service Catalog

Infrastrukturdienste (IaaS) stellt vRealize Automation für mehrere Hypervisoren und Cloud-Anbieter bereit. Zudem kann es Hypervisoren auf physischen Systemen installieren. Software-Stacks (PaaS) stammen von einer separaten Appliance, Workflows (XaaS) vom vRealize Orchestrator (Abb.ˇ2).

den Lebenszyklus eines von vRA verwalteten Rechners. Mit Multi-Machine-Blueprints erstellt man zusätzlich Multi-TierAnwendungen und zugehörige Netze. Fürs Bereitstellen eines Blueprints gibt es unterschiedliche Workflows: VMs erzeugen sie beispielsweise durch Cloning, Windows Management Instrumentation (WMI), als leere Hülle oder KickStart für Linux oder System Center. Blueprints werden im Service Catalog veröffentlicht und stehen dort den Benutzern als Templates zur Verfügung.

Für den Zugriff der Benutzer auf das Self-Service-Portal legt man Business Groups an, die üblicherweise Organisationseinheiten (etwa Abteilung) im Unternehmen entsprechen. Für jede gibt es einen Hauptverantwortlichen (Business Group Manager), der unter anderem für die Gruppenmitgliedschaften und Genehmigungsprozesse innerhalb der Gruppe verantwortlich ist. Business Groups erhalten über eine Reservierung Zugriff auf die vorher definierten Fabric Groups. Sie regelt etwa, wie viel Festplattenplatz,

71


vRealize Orchestrator Generate Work Order

Run Custom Script

Perform Backup

Blueprint

Request

Approval

Provision

Manage

Retire

Archive

Update Status

Third-Party Integration • CMDB • DNS • IPAM • Load Balancers • Service Desk • Monitoring Systems • Databases • Web Services

CMDB

Der Workflow, den eine virtuelle Maschine während ihres Lebenszyklus in vRealize Automation (blau) durchläuft. Zusätzliche Funktionen ergänzt man durch Integration in vRealize Orchestrator (grün) (Abb.ˇ3).

wie viel Hauptspeicher und welche Netze genutzt werden dürfen oder wie viel Festplattenspeicher für vRA zur Verfügung steht. Mit angepassten Ansichten findet der Administrator außerdem selten genutzte, „vergessene“ VMs, die lediglich Ressourcen verschwenden und deren CPU-, Speicher-, Netz- oder Festplattenauslastung gering ist.

Rechnerverbünde und Netze provisionieren Im Zusammenspiel mit vSphere und VMwares Netzplattform NSX erzeugt vRA komplette Umgebungen samt den benötigten Netzen und Netzdiensten. Die Netzvirtualisierung NSX erstellt zur Laufzeit logische Layer-2-Netze, die per Virtual Extensible LAN (VXLAN) gekapselt sind und zum Transport ein herkömmliches VLAN nutzen. Die Kapselung erfor-

-Wertung ⊕ flexibles System, für unterschiedliche Anwendungsfälle anpassbar ⊕ Integration in VMware-Umgebungen und -Werkzeuge (vSphere, NSX, vRealize Operations und Orchestrator) ⊕ Unterstützung zahlreicher anderer Hypervisoren und Cloud-Plattformen (etwa AWS) ⊖ lange Einarbeitungs- und Schulungszeit für Administratoren ⊖ Unterstützung externer Systeme nicht immer auf dem aktuellen Stand (etwa bei OpenStack oder Hyper-V) ⊖ komplexe Installation und Konfiguration sowie unfertige Java-Implementierung ⊖ teilweise unübersichtliches Lizenzmodell

72

dert letzteres Netz sowie eine erhöhte Maximum Transmission Unit (MTU) auf den beteiligten Switches. Dazu muss man ein Multi-MachineBlueprint für mehrere VMs erstellen (bekannt aus dem Vorgängerprodukt vCD beziehungsweise dessen Vorgänger Lab Manager). Leider unterstützt vRA nicht alle Funktionen des Lab Managers, man kann etwa keine Snapshots kompletter Umgebungen erstellen. Eine Migration vom Vorvorgänger zum aktuellen Produkt hat der Hersteller nicht vorgesehen. Zudem steht der volle Funktionsumfang nur zusammen mit NSX for vSphere (NSX-V) zur Verfügung, was eine Enterprise-Plus-Lizenz für vSphere erfordert. Erst diese erlaubt das Einrichten zentral verwalteter Distributed Switches.

Mandantenfähigkeit trennt die Parteien Ein fehlendes Feature des Vorgängers vCD findet sich endlich in der aktuellen vRA-Version: Mandantenfähigkeit. Insbesondere für Serviceprovider und größere Unternehmen ist es wichtig, ihren Kunden mit eigenständigen Benutzerund Gruppenberechtigungen Zugriff zu gewähren und zugleich Hardware- und Netzressourcen der Kunden zu isolieren. Konnte man bei der Vorgängerversion nur eine Active-Directory-Domäne zum Authentifizieren zuweisen, kann nun jeder Mandant über seinen eigenen Identity-Store Zugriff auf die Cloud-Management-Umgebung erhalten. Neben Active Directory bietet das Produkt auch Unterstützung für OpenLDAP. Das tatsächliche Authentifizieren der Benutzer geschieht im Hintergrund über die mit dem vCenter Server gelieferte SSOKomponente, die vRA ab vCenter 5.5.0b als Authentifizierungsquelle unterstützt.

Quelle: VMware

REVIEW | CLOUD

Verwendet der Kunde eine ältere Version von vCenter oder setzt das Produkt nicht in einer vSphere-Umgebung ein, darf er die eigenständige SSO-Appliance von VMware herunterladen. Seit Versionˇ6 kann vRA Workflows im Service Catalog veröffentlichen, die man mit dem vRealize Orchestrator erstellt (vRO, vormals vCenter Orchestrator). Er ist mit Plug-ins erweiterbar und bedarf keiner zusätzlichen Lizenz. Dazu zählen wiederkehrende automatisierbare Vorgänge des täglichen IT-Betriebs wie das Anlegen neuer Benutzerkonten, das Starten eines Backups oder das Konfigurieren eines E-Mail-Kontos. Allerdings benötigt man für solche Custom Services mindestens eine Advanced-Lizenz von vRA. Da es für viele Anbieter von Rechenzentrumsdienstleistungen unabdingbar ist, angefallene Kosten den Kunden in Rechnung zu stellen, bietet VMware für vRA das Zusatzprodukt vRealize Business, das den vCenter Chargeback Manager vom Vorgänger vCD ersetzt. Es steht als separate Appliance zur Verfügung, lässt sich in das Hauptprodukt integrieren und erzeugt Berichte, zeigt die künftig benötigte Kapazität im Rechenzentrum und die Zusammensetzung der Kosten. Außerdem vergleicht das Werkzeug die Kosten mehrerer Cloud-Anbieter. Anhand der Auslastung einer virtuellen Maschine kann VMwares vRealize Business Ratschläge geben, ob ein Provisionieren in der Public oder in der Private Cloud kostengünstiger ist. Die aktuellen Kostensätze ermittelt die Software aus einer im Internet verfügbaren Referenzdatenbank, die die aktuellen Preise von Cloud-Anbietern wie Amazon, die Hardwarekosten gängiger Serversysteme sowie Lizenzkosten enthält. Allerdings zeigt die Standardversion von vRA lediglich anfallende Kosten (Showback). Für ein vollständiges Chargeback (das Weiterverrechnen der angefallenen Serverkosten) ist zusätzlich eine Advanced oder Enterprise Edition von vRealize Business erforderlich. Zudem ist das Bepreisen von XaaS-Diensten nicht enthalten.

Erweiterbar mit wenig bekannten Tools Zwar gibt es in vRA Workflows, mit denen man Ressourcen bedarfsweise anpassen kann, jedoch setzt der Hersteller dafür inzwischen hauptsächlich auf vRO. Dessen Workflows führen auf provisionierten Ressourcen Aktionen aus, etwa iX 9/2015


Puppet-Module definieren Anwendungen Für das Erstellen von Softwarekonfigurationen hat VMware eine Partnerschaft mit Puppet Labs geschlossen und nutzt dessen Module in den Application Services. Ähnlich wie bei den IaaS-Komponenten existieren zum Provisionieren spezielle Blueprints, die Applikationen definieren. Dienste und Abhängigkeiten erstellt man darin grafisch per Drag and Drop, während sie im Hintergrund die entsprechenden Codefragmente erzeugen. Die zusätzliche Software gibt es nur als Teil der Enterprise-Version. Bei einer minimalen, nicht redundanten oder für Lastverteilung optimierten Installation (wie sie bei einem Proofof-Concept vorkommt) besteht vRA aus zwei virtuellen Linux-Appliances: der vRealize Automation Identity Appliance und der vRealize Automation Appliance sowie einem Windows-System mit dem IaaS-Server. Hat der Kunde eine aktuelle Version von vCenter im Einsatz, kann er auf die Identity Appliance verzichten. Der Ressourcenbedarf einer vRAUmgebung ist beachtlich, jedoch für heuiX 9/2015

tige Verhältnisse akzeptabel: Die vRealize Automation Appliance sowie der unter Windows laufende IaaS-Server benötigen jeweils zwei virtuelle CPUs und 8ˇGByte RAM. In großen Umgebungen mit Tausenden Maschinen kann man darüber hinaus weitere Instanzen der Appliance und des IaaS-Servers hinzufügen: Als Schwellwert gibt VMware 1000 verwaltete Systeme an. Dabei sollte man sowohl die Datenbank der Linux-Appliance (PostgreSQL) als auch die IaaS-Datenbank (Microsofts SQL Server) auf dedizierten Knoten installieren. Für hohe Verfügbarkeit empfiehlt der Hersteller außerdem einen Cluster für die IaaSKomponenten beziehungsweise mehrere vRA-Appliances hinter einem Load Balancer.

Zusatzprodukte und notwendige Lizenzen Eine unternehmensinterne Cloud-Umgebung auf Basis von VMwares vSphere dürfte der häufigste Fall beim Einsatz von vRA sein. Allerdings liegen dessen Komponenten als virtuelle Appliances im herstellerunabhängigen OVF-Format vor, weshalb diese Virtualisierungsumgebung nicht zwingend benötigt wird. Jedoch erschließt sich der volle Funktionsumfang von vRA erst durch das Zusammenspiel mit vSpheres Distributed Virtual Switches und NSX, das unter anderem Funktionen für das Switching, Routing und Firewalling virtualisiert. Das zunächst dafür vorgesehene Produkt vCloud Networking and Security (vCNS) hat der Hersteller allerdings schon wieder eingestellt, weshalb in Zukunft vor allem NSX eine Rolle spielen dürfte. VXLAN erstellt in einer solchen Umgebung automatisiert virtualisierte Router sowie Firewalls. Das erfordert allerdings die Enterprise-Plus-Edition von vSphere, die die dazu notwendigen Distributed Switches enthält, oder eine entsprechende Version der vCloud-Suite.

Fazit VMware hat für Unternehmen, die eine Cloud-Management-Plattform suchen, mit vRealize Automation ein Produkt im Angebot, dessen Stärken vor allem im Zusammenspiel mit anderen Produkten des Herstellers sowie in der Unterstützung anderer Hypervisoren und Cloud-Anbieter liegen. Der volle Funktionsumfang erschließt sich jedoch erst im Zusammenspiel mit

vRealize Automation Center Komponenten vRealize Automation Center Appliance Linux Appliance Web Portal

IaaS-Server (Windows 2008 R2 oder höher)

Identity Appliance oder bestehender SSODienst von vCenter

Quelle: VMware

das Patchen von Betriebssystemen oder das Ändern von Einstellungen. Man kann sie wahlweise im Service Catalog veröffentlichen. Die vRealize Automation Appliance enthält vRO als Dienst, die Software lässt sich jedoch auch als separate Appliance bereitstellen. Abbildungˇ3 zeigt den typischen Ablauf beim Aufsetzen einer virtuellen Maschine mit dem Tool. Das Bereitstellen von Workflows im Service Catalog, Service Blueprints genannt, übernimmt der in die vRA-Oberfläche integrierte Advanced Service Designer. Allerdings fehlen Service Blueprints einige nützliche Eigenschaften, sie lassen sich beispielsweise nicht mit Preisen versehen. Ein bislang relativ unbekanntes Produkt in der VMware-Familie ist vRealize Automation Application Services, eine PaaS-Komponente, mit der Administratoren einzelne Rechner und ganze SoftwareStacks zentral verwalten sowie für eine Test- oder Produktivumgebung schnell provisionieren. Die Application Services bieten ein Konfigurationsmanagement ähnlich Puppet, mit dem man das Vorhandensein bestimmter Softwarepakete definiert und diese konfiguriert. Dabei abstrahiert die Software von der zugrunde liegenden Infrastruktur und arbeitet in unterschiedlichen Umgebungen wie vSphere oder Amazons AWS.

Zusammenspiel der Teile: Das Webportal liefert eine Linux-Appliance, der IaaS-Server läuft unter Windows. Das Authentifizieren übernimmt die SSO-Komponente von vSphere oder eine separate IdentityAppliance (Abb.ˇ4).

dem Netzvirtualisierer NSX-V und mit vRealize Orchestrator. An manchen Stellen ist die Administration wegen der zahlreichen Rollen gewöhnungsbedürftig. Andererseits erhöht das die Flexibilität, da die Software sich für wechselnde Anforderungen anpassen lässt. Die verteilte Installation mit der Linux-Appliance und dem Windows-Server ist allerdings komplex. (tiw)

Dr. Guido-Arndt Söldner ist Dozent für Wirtschaftsinformatik an der FOM Hochschule für Oekonomie & Management und beschäftigt sich mit den Themen Automatisierung und Programmierung bei der Söldner Consult GmbH in Nürnberg.

Constantin Söldner leitet das SharePoint- und BI-ConsultingTeam der Söldner Consult GmbH.

Jens-Henrik Söldner ist Dozent für Wirtschaftsinformatik an der FOM Hochschule für Oekonomie & Management und leitet das InfrastrukturConsulting bei der Söldner Consult GmbH in Nürnberg.

Literatur [1]ˇJens-Henrik Söldner; Virtualisierung; Überführung; In der privaten Wolke mit vCloud Director 1.5; iXˇ11/2011, S.ˇ68 Alle Links: www.ix.de/ix1509069

73




REPORT | WORKSTATION

Grafische Arbeitsplätze: Konzepte und Angebote

CADdrille Ralph Hülsenbusch Wenn von Workstations die Rede ist, muss man heutzutage schon genauer hinschauen. Es dreht sich in der IT zwar immer um Computergrafik, aber gemeint sein kann ein Computer für anspruchsvolle Spiele, Animationen, Simulationen, Design und Konstruktion oder gar schlicht ein Stück Software. Eine Übersicht schafft Ordnung.

E

s dürfte nicht selten vorkommen, dass die Grafikkarte im PC des Nachwuchses mehr Geld verschlingt als der komplette Rechner des Familienoberhauptes. Und wenn man den Jüngsten einmal zeigt, wie Computergrafik noch vor wenigen Jahrzehnten aussah, erntet man meist nur verständnislose Blicke. Dabei war Grafik für die ersten Rechner ein Fremdwort. Dass aber der Bedarf schon früh geweckt wurde, zeigt die Entfaltung teils kreativer ASCII-Bilder, die Anfang der 70er die laut ratternden Ket-

76

tendrucker zur Raserei bringen konnten. Erste Systeme, die für computergestütztes Design (CAD) entstanden, waren so groß, dass sie meist im Kellergeschoss ihr Dasein fristeten. Bildschirm und Tastatur am Arbeitsplatz im Raum darüber waren über spezielle Kabel angeschlossen, da es keinem zuzumuten war, sich neben den schweren Grafikmaschinen ein Eckchen zu suchen. Aber wie oft in der IT dreht sich das Rad der Entwicklungen und manches kommt wieder vorbei. In diesem Fall das

Nutzen von Grafiksystemen aus der Ferne. Dank Streaming, Kompressionsverfahren, Netzen mit hoher Transferleistung und Virtualisierung zieren einige Arbeitsplätze große Bildschirme, Tastatur und Maus, alles verkabelt mit einem unscheinbaren Kästchen, das ans LAN angeschlossen ist. Computer und Grafiksysteme stecken im RZ in einem der Racks: das Prinzip der virtuellen Desktop-Infrastruktur, kurz VDI. Eine Technik, die inzwischen in der Industrie Einzug gehalten hat und etwa im Automobilbau zu finden ist. Solche virtuellen Workstations bedienen ihre Außenposten im Prinzip ähnlich wie Konsolen, indem sie die Ein-/Ausgabesignale geschickt verpackt übers Netz transportieren, gerechnet wird im Schrank. Ein wesentlicher Unterschied zur Anfangszeit der computergestützten Grafik: Es bedarf keiner Spezialkabel mehr, das erledigen jetzt Protokolle. Eins, das in dem Bereich Furore gemacht hat, ist PCoIP (PC over IP). Anbieter der passenden Software sind unter anderem Citrix, VMware und Microsoft.

Grafik: eine runde Sache Übrigens waren die ersten Grafiksysteme mit einem runden Bildschirm wie bei einem klassischen Radargerät ausgestattet, iX 9/2015


Mobile Workstations

Gerät Hersteller Grafik VRAM Prozessor Takt/Turbo Cores/Threads Arbeitsspeicher Festplatte 1

Precision M3800 Dell K1100M 1 GByte I7-4712H (Haswell) 2,3/3,3 GHz 4/8 16 GByte 256 GByte SSD-SATA

OMEN Pro 15 HP K1100M 2 GByte I7-4870HQ (Crystal Well) 2,5/3,7 GHz 4/8 16 GByte 512 GByte PCIe-SS

ZBook 15u G2 HP FirePro M4170 1 GByte I7-5600U (Broadwell) 2,6/3,2 GHz 2/4 16 GByte 256 PCIe-SSD

ZBook 17 G2 HP K3100M 4 GByte I7-4710MQ (Haswell) 2,5/3,5 GHz 4/8 8 GByte 256 SSD-SATA

Festplatte 2 Bildschirm Chipsatz VGA/HDMI/DP RJ45/USB/SATA/TB SD/PCMCIA/Audio Docking/DVD Netzteil Akku Energie Betriebssystem Lautstärke (Ruhe/Last) Preise

– 15,6"-Touch, FHD, glare HM87 Express 0/1/0 01/3/0/1 1/0/1 0/0 130 W 61 Wh k.ˇA.2 Windows 8.1 0,13/2,39 sone ab 1599 Euro

– 15,6"-FHD, glare HM87 Express 0/1/1 0/4/0/0 1/0/1 0/0 120 W k.ˇA. k.ˇA.2 Windows 7 0,12/1,49 sone ab 2999 Euro

512 SSD-SATA 15,6"-FHD, non-glare k.ˇA. 1/0/1 1/4/0/0 1/0/1 1/0 65 W 49 Wh 0,4/22/74 W Windows 7 <0,1/1,45 sone ab 3534,80 Euro

– 17,3-FHD, non-glare QM87 1/1/1 1/4/0/1 1/1/1 1/1 200 W 75 Wh 0,4/40/180 W Windows 7 <0,1/3,25 sone ab 2224,22 Euro

1 liefert

WT72 2OL MSI K4100M 4 GByte I7-4980HQ (Crystal Well) 2,8/4,0 GHz 4/8 32 GByte 4 x 238 GByte SSD RAID 0 1 TByte SATA 17,3-FHD, non-glare HM87 0/1/2 1/5/0/0 1/0/4 0/1 230 W 87 Wh –2/–2/211 W Windows 7 0,52/2,39 sone 3899,95 Euro

Adapter mit; 2 Akku nicht abnehmbar

in den Geschmacksrichtungen Grün oder Bernstein auf Schwarz. Hatte man das „Display“ im Textmodus vollgeschrieben, war ein Druck auf eine Clean-Taste fällig, die den Bildschirm magnetisch löschte – sonst gab es unleserlichen Zeichensalat. Nichtsdestotrotz gab es als eins der ersten Spiele die per Zeichensatz animierte Übung, mit einer Kanone über einen Berg zu schießen. Es hat also Geschichte, dass Computerspiele und Computergrafik schwer zu trennen sind. Das eine ist der Motor des anderen. Die Geister scheiden sich erst im

Detail: Während es im ersten Fall auf Animation und Simulation ankommt, um dem Betrachter ein möglichst realistisches Bild vorzugaukeln, geht es in der Industrie um Präzision. Und das zieht Weiteres nach sich. Ein Konstruktionsfehler in der Tragfläche eines Flugzeugs kann verheerende Folgen haben. Außerdem sind CAD-Systeme in komplexe Berechnungen eingebunden, etwa für Statik oder Kalkulationen der Stücklisten, die oft Tausende von Teilen bis hin zur kleinsten Schraube enthalten. Da bedarf es nicht nur der Grafik-, sondern auch der Rechenleistung.

-TRACT ⚫ Mit Workstation sind in der Regel Arbeitsplatzrechner mit hoher Grafikleistung gemeint, die sie für gewöhnlich durch zusätzliche Hardware erreichen. ⚫ Neben den stationären Workstations, meist in der Bauform von Tower-Systemen, gibt es mobile Rechner im Gewand eines Notebooks. ⚫ Per Virtual Desktop Infrastructure (VDI) können Grafiksysteme im RZ gehostet werden, auf die Anwender über das Internet zugreifen. ⚫ Mobile Workstations arbeiten mit Prozessoren der Oberklasse wie Intels Core i7 und nutzen eine für den Einsatz spezielle stromsparende Grafikhardware. ⚫ Stationäre Workstations hingegen verwenden in Servern übliche CPUs ohne integrierte Grafik, etwa Intels Xeon. Die großen Systeme arbeiten mit bis zu zwei Prozessoren und können mehrere GPUs betreiben.

iX 9/2015

Im Bereich der computergestützten Techniken, kurz C-Techniken genannt, geht es außerdem um Zertifikate. Einzelne Komponenten bis hin zu kompletten Systemen müssen kontrollierte Bedingungen erfüllen. So wirbt Dell etwa damit, dass seine Workstations unter anderem für Dassault (CATIA), Autodesks Produkte (AutoCAD, 3D-CAD), Adobe (Creative Cloud), PTC und Siemens Solid Edge zertifiziert sind. Oft handelt es sich dabei um Zertifikate für die Grafikkarten. NVIDIA behauptet, für mehr als 100 Anwendungen zertifiziert zu sein – da hilft nur Nachfragen.

Grafische Arbeitsplätze an vielen Orten Nicht nur bei Designern stehen GrafikWorkstations, sondern auch in Kontrollzentren und Steuerungszentralen etwa von Flughäfen, Ozeanriesen oder in OPs. Das sind mit Gründe, warum die physischen Grafikrechner unterm oder auf dem Tisch nicht längst verschwunden sind. Hinzu kommt, dass es im Konstruktionsbereich eine Reihe von Zusatzgeräten wie Zeichenbretter (auch Tablets genannt), Datenhandschuhe, Zeichenstifte, Plotter und andere Spezialitäten gibt, die angeschlossen sein wollen. Dort sind die Tage der se77


REPORT | WORKSTATION

riellen Schnittstelle noch nicht gezählt und sie brauchen Anschluss vor Ort. Das kann dazu führen, dass der Anwender für seine Workstation eine bestimmte Ausstattung braucht, die nicht ins System im Rack passt oder zum Fernbedienen ungeeignet ist. Außerdem ist es unter Umständen erforderlich, Komponenten austauschen zu können. Ein Vorteil bei VDI liegt in der zentralen Verwaltbarkeit, die aber wiederum den individuellen Spielraum einengt. Grafik-Workstations brauchen Luft, denn die Karten heizen sich im Lastbetrieb auf 80ˇ°C und mehr auf. Und sie benötigen ausreichende Stromzufuhr. Das verlangt eine hinreichende Kühlung der

Netzteile. Ein Upgrade der Grafik sollte immer zur Leistung des Netzteils passen, sonst herrscht beim Hochfahren schlichte Dunkelheit oder das System fährt sofort oder bei der ersten Last wieder herunter. Angesichts heutiger Ausstattungsdimensionen darf man den Strombedarf nicht unterschätzen, nicht nur den der Grafikkarte, sondern auch den des Arbeitsund Massenspeichers. Hier gilt immer noch das Prinzip der lichten Höhe – nach oben muss Luft sein. Vor allem bei TowerSystemen, die mehr Ressourcen aufnehmen können als mobile Workstations. Denn bei Letzteren geht es darum, ein Gleichgewicht zwischen Akkulaufzeit und Leistung zu finden. In solchen Geräten verwenden die Hersteller meist spezielle,

SPECvp12 Mobile catia-04

besser > 12,88 16,55 19,90

SPECwpc Mobile Media and Entertainment

Nicht alles, was passt, funktioniert

1,80

47,57

3,15

creo-01

4,24 12,96 15,76 17,48

Product Development 3,11 2,99

28,57

2,12

38,07

2,71

energy-01

4,19

0,32 0,33

Life Sciences 0,01

0,06

2,93

1,91

1,93

2,09

2,85

maya-04

4,25 13,87 13,77 11,31

Financial Services 1,82 1,90

27,74

1,01

39,24

1,91 2,07

medical-01 4,50 5,02 5,21

Energy 2,58 3,15

9,81

1,43

14,04

showcase-01

3,36 0,01

8,56 9,24 10,25

General Operations 3,36 4,32

16,98

3,12

22,69

3,71

snx-02

5,56 14,48 15,17 24,21 31,80 45,00

sw-03 18,51 34,10 35,15 58,24 83,03

iˇDells M3800; K1100M iˇHPs OMEN Pro 15; K1100M iˇHPs ZBook 15u G2; FirePro M4170 iˇHPs ZBook 17u G2; K3100 iˇMSIs WT72 20L; K4100M Grafikhardware „K“ von NVIDIA, FirePro von AMD. Tests stammen aus Konstruktionsanwendungen (www.spec.org/benchmarks.html#gwpg).

78

besser >

2,69 2,92

32,19

etwas gedrosselte Prozessoren und Grafikchips, Letztere mit „M“ gekennzeichnet. Und beim Speicherausbau sind Grenzen gesetzt, meist ist kein Platz für mehr als zwei Hauptspeichermodule. Platz ist oft ebenso der Grund für Einschränkungen bei den Anschlüssen an mobilen Workstations. Schwierige Kandidaten sind die für VGA, RS232 und Ethernet wegen ihrer Größe. Hinzu kommt, dass sich die Zahl der Varianten vermehrt hat. Für Bildschirme gibt es inzwischen VGA, HDMI und DisplayPort, für die Datenübertragung neben Ethernet USB, (S)ATA, FireWire und Thunderbold. Speichermedien kommen mit diversen SD-Kartenformaten daher sowie mit dem allerdings an Bedeutung verlierenden PCMCIA. Das Ganze krönen die Hersteller noch mit unterschiedlichen Formaten und Anschlussbelegungen der Buchsen und Stecker.

iˇDells M3800 iˇHPs OMEN Pro 15 iˇHPs ZBook 15u G2 iˇHPs ZBook 17u G2 iˇMSIs WT72 20L Dells M3800: i7-4712H, 2,3/3,3 GHz; K1100M, 1ˇGByte HPs OMEN Pro 15: i7- 4870HQ, 2,5/3,7 GHzs; K1100M, 2ˇGByte HPs ZBook 15u G2: i7-5600U, 2,6/3,2 GHz; FirePro M4170, 1ˇGByte HPs ZBook 17u G2: i7-4710MQ, 2,5/3,5 GHz; K3100M, 4ˇGByte MSIs W72 20L: i7- 4980HQ, 2,8/4,0; K4100M, 4ˇGByte Jeder Bereich enthält eine Kombination von Benchmarks (www.spec.org/benchmarks.html#gwpg).

Den Vogel schießen die Netzteile bei den Mobilen ab: Wer mehrere Geräte der Art benutzt, ist gut beraten, sie zu beschriften oder wenigstens zu kennzeichnen, denn meist stammen sie aus fernöstlicher Produktion. Anhand der Aufdrucke lassen sie sich nicht zuordnen. Und sollten die Stecker passen, heißt das nicht, dass die Ladekapazität stimmt. Das gilt sogar für USB-Ladegeräte. Um den Kandidaten auf den Zahn zu fühlen, durchliefen alle Benchmarks aus fünf Quellen: SPECs Viewperf 12 (Grafik) und wpc 1.02 (Workstation Performance), Unigines Heaven und Valley, MAXONs CINEBENCH (OpenGL und CPU), Geeks3D FurMark (Grafik) sowie Toms Hardwares Tom2D. Die Mobilen mussten sich einer Untersuchung ihrer Bildschirme und alle einer Geräuschmessung stellen. Die Leistungsaufnahme wurde in den Stufen bei ausgeschaltetem Rechner, im Ruhezustand nach Login und unter voller Last gemessen. Bei den Geräuschmessungen kommt es vor allem auf die Bedingungen Ruhezustand und Höchstlast an. Benchmarks können eine erste Orientierung geben, lassen sich aber schnell durch das Drehen an der einen oder andern Schraube austricksen. Sie können aber Handicaps aufdecken. Eins betrifft den Plattenplatz: Alle Rechnerhersteller tendieren dazu, als erstes Laufwerk SSDs zu verwenden und für die Daten eine Terabyte-Platte einzubauen. Bei einer großzügigen Ausstattung mit Arbeitsspeicher kann es bei bestimmten Anwendungen zum Engpass kommen, wenn iX 9/2015


Stationäre Workstations

Gerät Hersteller Grafik VRAM Prozessor Takt/Turbo Cores Arbeitsspeicher Festplatte 1 Festplatte 2 Bildschirm Chipsatz DVI/VGA/HDMI/DP Front: USB 2/USB 3/ ESATA/Audio Rücks.: RJ45/USB2/USB3 Rücks.: PS2/seriell/ Audio Steckplätze PCIe x16/x8/x4 Einschübe (Bays, 3,5") Netzteil Betriebssystem Lautstärke (Ruhe/Last) Preis ab Anmerkungen

Precision T7810 Dell K5200 4 GByte 2 x E5-2650 v3 2,3/3,0 GHz 20 Hts 32 GByte DDR4 250 GByte SSD 1 TByte SATA nicht mitgeliefert C612 1/0/1/0 3/1/0/2

ThinkStation P500 Lenovo K6000 4 GByte E5-1650 v3 3,5/3,8 GHz 12 Hts 32 GByte DDR3 250 GByte SSD 250 GByte SSD T2254 C612 2/0/0/0 0/4/0/1

ProViz W30 CADnetwork K4200 4 GByte E5-1630 v3 3,7/3,8 GHz 8 Hts 32 GByte DDR4 256 GByte SSD 1 TByte SATA nicht mitgeliefert C610/X99 1/0/0/2 1/2/0/2

ProViz W60 CADnetwork M6000 12 GByte 2 x E5-2670 v3 2,3/3,1 GHz 24 Hts 64 GByte DDR4 931,51 GByte 1 TByte SATA nicht mitgeliefert C612 1/0/0/4 1/2/1/1

Z840 HP K4200 4 GByte E5-2620 v3 2,4/3,2 GHz 12 Hts 16 GByte DDR3 1 TByte SATA 1 TByte SATA Z24i C612 1/0/0/2 0/4/0

Engineer-X3 ultra XI-Machines K5200 4 GByte 2 x E5-2680 v3 2,5/3,3 GHz 48 Hts 64 GByte DDR4 240 GByte SSD 2 x 2 TByte SATA Dell 24" Wide FHD C612 2/0/2/0 2/2/0/2

1/3/3

1/4/4

1/4/6

2/2/6

2/2/4

2/3/4

2/1/2

2/1/3

1/0/4+1

1/0/4+1

2/1/2

0/0/4

2/1/1

2/1/2

2/2/2

4/3/1

2/2/1

3/2/0

2

4

4

6

4

10

825 W Windows 7 0,64/2,77 sone

650 W Windows 8.1 1,14/3,85 sone

500 W Windows 7 0,72/1,11 sone

1500 W Windows 7 0,99/1,39 sone

1450 W Windows 7 1,03/155 sone

860 W Windows 7 k. A.

3679 Euro –

3524,02 Euro FlexConnect

3150 Euro –

11 889 Euro –

auf Anfrage Dualsockel

7999 Euro geräuschgedämmt

eine Anwendung Puffer in der Größe des Hauptspeichers anlegt wie der iobench im SPECwpc. Da sich den ersten Happen Windows für seinen Swap-Space und für den Suspend-Modus gönnt, kann es schnell eng werden auf der SSD. Die Balance zwischen Größe des primären Massen- und des Arbeitsspeichers muss stimmen und sollte mindestens im Verhältnis 6 zu 1 liegen. Im Vorfeld der Untersuchung gingen nach Vorgesprächen schriftliche Anfragen an Apple, CADnetwork, Dell, Fujitsu, HP, Lenovo, MSI und XI-MACHINES raus. Apple und Fujitsu nahmen nicht teil, die übrigen bedachten die Redaktion mit unterschiedlichen Einsendungen. Die bereitgestellten Workstations geben ein nahezu komplettes Bild dessen wieder, was am Markt zu haben ist. Je nach Angebotspalette kamen Mobile im Kleid eines Notebooks und Tower-Rechner für den stationären Betrieb ins Haus. Gemeinsamer Nenner aller Geräte: Sie sind mit einem oder mehreren zusätzlichen Grafikprozessoren ausgestattet. Bei den mobilen sind es M-Versionen, die mit gedrosselter Leistung und geringerem Strombedarf auskommen als die in den Tower-WorkstaiX 9/2015

tions. Bei den letztgenannten kamen alle Geräte mit einer Grafikkarte von NVIDIA vom Typ „K“ (Kepler) ins Haus.

Mobil auf fremden Tischen Fünf Workstations in Gestalt eines Notebooks genügen bereits, das Spektrum der Angebote zu veranschaulichen. Während die kompakteren mit 15,6 Zoll großem Display in erster Linie für den Konstruktionsbereich gedacht sind, haben die größeren genügend Dampf unter der Haube, um Simulationen ablaufen zu lassen. Deutlich zeigen das die Ergebnisse der Simulationstests Heaven und Valley von Unigine. Gemeinsamer Nenner aller Mobilen: Die CPUs stammen aus der 7er-Modellreihe, jedoch aus unterschiedlichen Entwicklungsreihen. Gediegene Klassiker aus der Haswell-Familie mit 6ˇMByte Smart Cache dienen in HPs ZBook 17u G2 und Dells Precision M3800. Die Cores können den Third-Level Cache dynamisch gemeinsam nutzen. Intels integrierte Grafik HD 4600 reicht für den Hausgebrauch. Schaltet man sie ab, streiken grafische Anwendungen, weil sie

über die Treiber zugreifen wollen. Jedoch kann man in den meisten Fällen den zusätzlichen Grafikchip deaktivieren. Aus Intels Crystal-Well-Projekt stammen die Iris Pro Graphics 5200, die in den CPUs des OMEN Pro 15 von HP und des WT72 2Ol von MSI eingebaut sind. Sie sind deutlich leistungsfähiger als die HD 4600 und waren schon Gegenstand einer Untersuchung in der Augustausgabe 2014 der iX [3]. Letztgenannte konnte sich im CINEBENCH 15 und im FurMark 1.13 gegen NVIDIAs K1100M behaupten. Eine besondere Rolle kommt HPs ZBook 15u G2 zu. Es ist mit einer CPU der jüngsten Broadwell-Generation ausgestattet. Den im 14- statt im 22-nm-Prozess produzierten Chip i7-5600U hat Intel aufs Energiesparen ausgelegt. Der L3-Cache ist nur 4ˇMByte groß und er besitzt lediglich zwei statt vier Kerne. Er läuft mit 2,6 GHz, begrenzt aber den Turbo Mode auf 3,2 GHz. Eingebaut ist die Grafik HD 5500, eine Weiterentwicklung der 5200. Zumindest im vorliegenden Fall sind HD 5500 und Grafikkarte untrennbar miteinander verbunden – eine funktioniert ohne die andere nicht. Das 15 Zoll große ZBook verwendet im Unterschied zu allen anderen eine 79


REPORT | WORKSTATION

FirePro M4170 von AMD, die „nur“ 1 GByte Videospeicher besitzt, da kann man, scheint es, im Vergleich mit den anderen nicht allzu viel erwarten. In SPECs viewperf 12 kann sie sich aber gegenüber der K1100M durchsetzen. Stellt sich die Frage, ob sie mit den möglichen 2ˇGByte GDDR5 nicht noch etwas besser dastehen würde. Ebenso sparsam geht es bei Dells Precision M3800 zu, das mit einer Quadro

SPECvp12 Tower catia-04

besser > 85,69

K1100M von NVIDIA und 1ˇGByte GDDR5 arbeitet. Das OMEN Pro 15 von HP nutzt mit derselben Grafikkarte 2ˇGByte DDR5. Die beiden Schwergewichte, HPs ZBook 17u G2 mit K3100M und MSIs WT72 20L mit K4100M, haben 4ˇGByte für die Grafik an Bord. Diese Ausstattungsunterschiede sind im Grafikbenchmark viewperf 12 der SPEC deutlich erkennbar. Beim Arbeitsspeicher verwenden die Geräte der mobilen Klasse DDR3L (Low Voltage) mit 1600 MHz. Es geht den Herstellern darum, ein ausgewogenes Verhältnis zwischen Leistung und Strom-

107,14 69,03 125,51 66,42

SPECwpc Tower Media and Entertainment

89,76

besser >

6,53

creo-01

4,5 4,09 4,56

70,22 81,79 55,27

2,52

90,28 52,49

7,33

Product Development

71,63

5,29

energy-01

3,89 3,27 3,43

4,89 5,83 2,9

2,05

13,35 2,98 3,6

6,21

Life Sciences 7,39

maya-04

4,31 3,76

65,57 72,49 57,43

5,79 2,61

96,43 54,99 65,04

8,61

Financial Services 7,61

medical-01

3,13 2,33

44,32 30,13

9,47

21,01

2,38

59,79 20,44

10,59

Energy

28,67

Glare oder non-glare

6,84

showcase-01

4,96

49,21

4,06

66,61

5,52

37,53

3,11

86,00 35,01

8,24

General Operations

48,51

4,79 4,22 4,24

snx-02 81,57 95,03 63,52 164,7 63,47 82,31

sw-03 103,33 114,03 96,69 122,63 84,23 105,45

1,86 1,45 5,8

iˇDells T7810 iˇLenovos P500 iˇCADnetworks W30 iˇCADnetworks W60 iˇHPs Z840 iˇXI-Machines Engineer-X3

iˇDells T7810; K5200 iˇLenovos P500; K600 iˇCADnetworks W30; K4200 iˇCADnetworks W60; M6000 iˇHP Z840; K4200 iˇXI-Machines: K5200

Dells T7810: 2x E5-2650 v3, 2,3/3,0 GHz; K5200 Lenovos P500: E5-1650 v3, 3,5/3,8 GHz; K6000 CADnetworks W30: E5-1630 v3, 3,7/3,8 GHz; K4200 CADnetworks W60: 2x E5-2670 v3, 2,3/3,1 GHz; M6000 HPs Z840: E5-2620 v3, 2,4/3,2 GHz; K4200 XI-Machines Engineer-X3: 2x E5-2680 v3, 2,5/3,3 GHz; K5200

Grafikhardware von NVIDIA. Tests stammen aus Konstruktionsanwendungen (www.spec.org/ benchmarks.html#gwpg)

Jeder Bereich enthält eine Kombination von Benchmarks (www.spec.org/benchmarks.html#gwpg)

80

verbrauch zu finden. Bei den beiden Leichtgewichtigen, Dells M3800 und HPs Pro 15, waren sinnvolle Messungen des Energiedurchsatzes nicht möglich: Beide besitzen keinen Wechselakku. Die übrigen drei forderten passend zur Grafik-Performance Energie ab. Spitzenreiter WT72 20L vom MSI verschlingt unter voller Last bis zu 211 Watt, da ist im Akkubetrieb nach noch nicht einmal einer Stunde Schluss. Auch hier lässt sich der Akku nur von Fachleuten wechseln, die erst einen großen Teil abbauen müssen, um ihn freizulegen. Deswegen ließen sich die Spitzenwerte im hochgefahrenen Wartezustand und ausgeschaltet nicht ermitteln. Von den Konzeptionen gibt es Positives, Ärgerliches und Wunderliches zu berichten. Nicht nur, dass in einem teuren mobilen Gerät Akkus nicht wechselbar sind, ist mehr als ein Ärgernis, denn die Garantien dafür sind kurz, in der Regel nur ein Jahr. Die Methode, die Apple sich seit Jahren leistet, muss sich nun nicht noch auf professionelle Arbeitsgeräte durchschlagen. Positiv zu vermerken ist der Ansatz von HP: Bei beiden ZBooks genügt ein einfaches Entriegeln, um den kompletten Boden abnehmen zu können. Das vereinfacht zudem den Ausbau oder das Wechseln von RAM, SSD und Festplatte sowie das Reinigen der Luftschächte. Warum derselbe Hersteller mit dem OMEN Pro 15 ein völlig geschlossenes Gerät abliefert, ist schwer nachvollziehbar. Es mutet eher wie eine Designstudie an.

Bei den Bildschirmen geht es nicht nur um glare oder non-glare: Schwarz, schick und rückspiegelnd scheint immer noch das Ideal mancher Bildschirmherren zu sein, so zumindest bei Dells Precision M3800 und HPs OMEN Pro 15. Zum eben erwähnten OMEN kommt noch hinzu, dass linker Hand neben der Tastatur sechs weitere frei programmierbare Tasten angebracht sind, die dieselbe Größe wie die der Buchstaben haben. Da vertippt sich anfangs fast jeder, weil aus dem üblichen Blickwinkel das Feld um eine Reihe nach rechts verrutscht zu sein scheint. Wie das besser geht, zeigt MSI: Beim WT72 20L gibt es an der gleichen Stelle Sondertasten, nur sind die länglich und kleiner geformt. Technische Neuerungen ziehen ergonomische Effekte nach sich, die nicht immer ein Grund zur Freude sind. Selbst bei einem 17-Zöller möchte man hie und da mal einen großen Bildschirm oder einen iX 9/2015


Beamer anschließen. Da sind in der Regel nicht die neuesten Geräte zur Hand. Ohne VGA-Anschluss wird dann aus der Vorführung nichts. Solchen Anschlüssen wie dem fürs Ethernet (RJ45) steht entgegen, dass ein Notebook handlich sein soll. HP verzichten bei seinem Designerstückchen OMEN ganz darauf, Dell zieht sich mit einem RJ45-USB-Adapter aus der Affäre. Die beiden ZBooks von HP haben für beides Platz genug. MSI bietet zwar einen Ethernet-Anschluss, stellt aber wie Dell mit dem M3800 und HP mit seinem OMEN Pro 15 den Nutzer mit HDMI und Mini-DisplayPort vor eine schwierige Aufgabe – am besten, man bestellt einen Adapter gleich mit.

Schwere Entscheidung vor Ort In der zweiten Runde geht es um stationäre Workstations. Sechs Geräte kamen letztlich zusammen, wobei ENGINEERX3 von XI-MACHINES es als Nachzügler nicht mehr schaffte, mit aufs Aufmacherbild zu kommen. Alle Geräte sind statt mit Core i7- mit Xeon E5-CPUs und einer Grafikkarte von NVIDIA der Quadro-Klasse mit Kepler-GPU ausgerüstet. Die Höhe der Tower schwankt zwischen 41 und 57 cm. Bei allen ist noch Platz für weitere Ausbaustufen. In der Regel finden Platz: im unteren Bereich vier 3,5" große Platten und im oberen 4,25" messende Laufwerke wie solche für DVDs. Zu den Besonderheiten der Xeon-Architektur aus der Haswell-Familie gehört, dass PCIe im Prozessorchip integriert ist und damit die Zahl der Lanes von der der Sockel abhängt. Die bei den stationären Workstations verwendeten Xeon-E5-v3Prozessoren versorgen pro CPU 40 Lanes, die sich in x16, x8 und x4 aufteilen. Bei Single Sockets sind typischerweise zwei x16 und ein x8 verdrahtet. Mit dem zweiten kommen meist ein x16, zwei x8 und zwei x4 hinzu. Oft verbergen sich die mit weniger Lanes in einem PCIe-Steckplatz voller Länge. In besonderen Fällen wie bei CADnetworks ProViz W60 sind die Motherboards und Gehäuse für bis zu vier Grafikkarten respektive GPUs ausgelegt. Nebenbei bemerkt täuscht die Zahl der Slot-Bleche auf der Rückseite der Geräte oft, was die Zahl der tatsächlichen Steckplätze angeht. Eine K6000 belegt mit ihren Anschlüssen zwei solcher Ports. Zwar sehen Tower-Gehäuse rein äußerlich wenig attraktiv aus, aber Hersteller wie Dell und HP helfen bei Wartungsarbeiten allein schon dadurch, dass sie iX 9/2015

Klassenunterschiede: Oben die Prozessoren, mittig die Grafikkarte, da sind sich alle einig. Nur HP tanzt beim Netzteil aus der Reihe, das in der Z840 den gesamten oberen Bereich belegt. Außerdem wäre bei der Workstation noch mehr drin gewesen – der zweite Sockel ist nicht bestückt (von links nach rechts: Precision T7810, ThinkStation P500, darunter ProViz W30, ProViz W60, untern Z840 und ENGINEER-X3 ultra).

Griffe zum Wegheben in die Gehäuse integrieren. Im Innern der Geräte gibt es beachtliche Unterschiede in der Bauart. So sind bei der Z840 von HP und Lenovos P500 mit wenigen Handgriffen herausnehmbare Kunststoffabdeckungen eingebaut, die den Luftstrom zum Kühlen der Komponenten gezielt lenken. Hingegen haben die Konstrukteure bei CADnetwork und XI-MACHINES Wert auf Stabilität sowie freien Raum im Innern gelegt. Beim letztgenannten Unternehmen haben die Designer zusätzlich einiges zur Geräuschdämmung unternommen: Die Front besteht aus einer verschließbaren Tür, die mit Dämmmaterial ausgekleidet ist. Im Gehäuse sind zusätzlich Dämmplatten eingeklebt. Der Effekt schlägt mit einem Reduzieren der Arbeitsgeräusche

von 1,3 auf 1,1 sone beziehungsweise von 1,2 auf 1,0 sone im Ruhezustand zu Buche (siehe Tabelle „Stationäre Workstations“). Das scheint auf den ersten Blick den Aufwand nicht wert zu sein, auf Dauer aber ist jede Geräuschabnahme wünschenswert, denn die großen Brummer stehen meist direkt am Arbeitsplatz. Schaut man sich die Messergebnisse der anderen Kandidaten an, zeigt sich, wie groß die Unterschiede sein können, etwa zu Dells T7810 mit 2,77 oder Lenovos ThinkStation P500 mit 3,85 sone. Die Lautheit von 1ˇsone entspricht in etwa der eines normalen Gesprächs in 1ˇm Entfernung. Wie anfangs bereits erwähnt, sind aus der Mode gekommene Anschlüsse fürs Serielle (RS232) und PS/2 immer noch im Konstruktionsbereich gefragt. CAD81


REPORT | WORKSTATION

Mobile Notebook-Displays Beim Kontrast unter Fremdlicht zeigt das Testfeld ein gemischtes Bild, wobei eine Gruppe, bestehend aus HPs OMEN Pro 15 und Dells M3800, auszumachen ist, die ihren Schwerpunkt auf den Bereich Glare-Displays legt. Bei diffuser Beleuchtung sind die Kontraste durchweg sehr gut, weil die Display-Fläche wenig Streulicht erzeugt. Bei der Art der Beleuchtung unterschreiten die Displays einen Kontrastwert von 10ˇ:ˇ1 erst bei relativ hohen Beleuchtungsstärken: bei HPs OMEN Pro 15 ab 57ˇ300 lx und bei Dells M3800 ab 57ˇ600 lx. Ist die Fremdlichtquelle jedoch als Spiegelbild in der Panel-Oberfläche sichtbar, nimmt der Kontrast deutlich ab. Geht man von einem Kontrastwert 3ˇ:ˇ1 aus, darf die Leuchtdichte der Fremdlichtquelle 2050 cd/m2 bei HPs OMEN und 2780 cd/m2 bei Dells M3800 nicht überschreiten. Das sind Helligkeiten, die man an einem sonnigen Tag und speziell bei bedecktem Himmel erreicht. Der Himmel, Fensterflächen oder Beleuchtungskörper sollten sich möglichst nicht im Display spiegeln.

network verzichtet auf den seriellen Anschluss, XI-MACHINES zusätzlich auf PS/2. Sicherlich lassen sich solche Anschlüsse per Adapter nachrüsten, die kosten aber zusätzlich und funktionieren nicht immer störungsfrei.

Fazit Was man an Monitoren anschließen kann, bestimmen die Grafikkarten. Bei NVIDIAs Kepler sind DVI und HDMI üblich, bei den großen in doppelter Ausführung. Zur Standardausrüstung gehören USB 2.0 und 3.0 an Vorder- und Rückseite sowie Klinkenbuchsen für Audio. Es hängt vom geplanten Einsatz ab, welche Ansprüche der Nutzer an die Tonqualität stellt. Das kann wie bei der ProViz W60 bis zu 8Kanal-Ton gehen. Angesichts der großen Zahl kleiner Varianten sowohl bei den mobilen als auch bei den stationären Workstations zeigt sich, dass die Anwendungsumgebung eins der entscheidenden Kriterien für die Aus82

HPs ZBook 15u, 17u und MSIs Workstation haben etwas stärker mattierte Displays, die etwas mehr Streulicht erzeugen. Bei diffuser Beleuchtung sind die maximalen Beleuchtungsstärken Werte, bei denen noch ein Kontrast von 10ˇ:ˇ1 erreichbar ist. Sie betragen 6000 lx bei HPs ZBook 15u, über 100ˇ000 lx beim ZBook 17u und 10ˇ200 lx bei MSIs Workstation WT72 20L. Kommt es hier zu Spiegelungen von Fremdlichtquellen, hat man in den Bereichen, in denen die Spiegelbilder sichtbar sind, ein ähnliches Kontrastverhalten wie bei den anderen mobilen Workstations. Der Kontrast fällt unter einen Wert von 3ˇ:ˇ1 ab einer Leuchtdichte des Fremdlichts von 3115 cd/m2 bei HPs zBook 15u, 2800 cd/m2 beim 17u und 2500 cd/m2 bei der Workstation von MSI.

Farbraum Die Farbraummessungen ergeben, dass die Hersteller bei allen Geräten bis auf HP bei seinem ZBook 17 offenbar den sRGB-Standard

stattung einer solchen Grafikmaschine ist. Diejenigen der angeschriebenen Hersteller, die reagiert und geliefert haben, zeigen, wie unterschiedlich die Herangehensweise an das Thema Workstations sein kann, und erlauben so einen Überblick über das Produktspektrum. Schon allein vom Preis her ist die Spanne enorm. Wobei anzumerken ist, dass es sich teils um Straßenpreise, teils um per Konfigurator angenäherte Beträge handelt. Zum einen gibt es inzwischen erheblich Nachlässe, zum anderen bieten die Konfiguratoren nicht alles. Bei Lenovo etwa fehlt die K6000. Nicht täuschen lassen darf man sich von den Dumpingpreisen auf den Webseiten einiger Anbieter. Sie gelten für magere Grundausstattungen und schnellen mit den ersten Ergänzungen nach oben. Der Einstieg in die P-Serie bei Lenovo für 629,10 Euro inklusive Mehrwertsteuer mit Core i3, 4ˇGByte Arbeitsspeicher und (im Prozessorchip) integrierter „Video-Core-Pentium-Grafik“ taugt sicherlich nicht für computergestützte Konstruktionsaufgaben. Solch ein Angebot

als Zielvorgabe für den Farbraum angepeilt haben. Im Gegensatz zu vielen anderen Notebooks halten die Geräte die Vorgabe recht genau ein – es gibt keine erkennbaren Kompromisse bei der Farbwiedergabe, die Entwickler etwa zugunsten einer besseren Lichtausbeute eingegangen wären. Unterschiede zwischen den Geräten sind in Nuancen zu finden, die vermutlich in der Streuung der Produktionscharge untergehen. Das Display des ZBook 17 von HP ist mit einem Panel ausgestattet, das einen extrem großen Farbraum bietet. Tatsächlich ist der gemessene Farbraum noch etwas größer als AdobeRGB, sodass man selbst diese Zielvorgabe einer zusätzlichen Softwarekalibrierung bequem erreichen dürfte. Mit allen Geräten aus dem Testfeld können Fachleute Bilder bearbeiten, mit HPs ZBook 17 sind sie sogar in der Lage, Content im Adobe-RGB-Farbraum zu erstellen, zu bearbeiten und zu beurteilen. Dieter Michel

könnte aber dann reizvoll sein, wenn sich Komponenten des älteren Systems weiter nutzen lassen. Und man darf davon ausgehen, dass vor allem in der Industrie die Lebensdauer einer Workstation über die von Desktops hinausgeht. Da ist ist es im Einzelfall sinnvoll, über längere Garantien zu verhandeln sowie Support und Service abzufragen. (rh)

Literatur [1]ˇRalph Hülsenbusch; Notebook; Ins Bild setzen; High-End-Notebooks von Schenker mit NVIDIAs Grafik GTX 965M; iXˇ8/2015, S.ˇ82 [2]ˇRalph Hülsenbusch; Grafikrechner; Unter Feuer; Dells Precision M2800 mit FirePro; iXˇ12/2014, S.ˇ72 [3]ˇRalph Hülsenbusch; Grafik-Prozessoren; Fürs Auge; Intels Schnellste: Crystal-Well-CPU mit Iris-Pro-Grafik; iXˇ8/2014, S.ˇ58 Alle Links: www.ix.de/ix1509076

iX 9/2015


REPORT | PUBLISHING

U

m Dokumente zuverlässig und systemübergreifend austauschen zu können, ist der PDF-Standard zumeist das Mittel der Wahl. Die bekannten Vorteile dieses Formats: Dokumente werden auf allen Plattformen identisch dargestellt, es existieren zahlreiche kostenlose Reader-Programme und Anwendungen zum Generieren und Bearbeiten von PDFs. Mit der identischen Darstellung ist es jedoch so eine Sache: Dies trifft nur bezüglich der visuellen Rezeption zu. Doch eigentlich sollte sich ein PDF-Dokument auch Menschen mit Behinderungen wie eingeschränkter Sehfähigkeit erschließen, unabhängig vom Umfang. Das gilt insbesondere für Dokumente der öffentlichen Hand, die hier der BITV folgen müssen, der Verordnung zur Schaffung barrierefreier Informationstechnik nach dem Behindertengleichstellungsgesetz.

Nach Jahren der Fragezeichen endlich ein Standard Die IT-Branche tat sich seit Inkrafttreten der Verordnung im Jahre 2002 schwer mit der Umsetzung. Denn die Definitionen, wann ein Dokument die Anforderungen an die Barrierefreiheit erfüllt und wann nicht, waren durchaus unklar oder zumindest weitläufig interpretierbar. Unstrittig war, dass entsprechende PDF-Dokumente mit Tags versehen sein müssen, um sie maschinenlesbar zu machen. Wie aber muss beispielsweise der UmfließenModus angeboten werden? Wie soll die Tag-Hierarchie aufgebaut sein? Auf welche Validierungsregeln kann sich der Ersteller verlassen? Um einen verlässlichen Standard zu schaffen, hat ein international besetztes Expertenkonsortium den ISO-Standard 14289-1 erarbeitet, der umfangreiche Richtlinien für das Erstellen barrierefreier PDF-Dokumente definiert. Der im Juli 2012 veröffentlichte Standard ist auch bekannt als PDF/UA, wobei der Appendix für Universal Accessibility, also universelle Zugänglichkeit steht. Wenig später wurde das sogenannte Matterhorn-Protokoll veröffentlicht, das ein Prüfverfahren für den ISO-Standard PDF/ UA definiert. 2014 schließlich hat die ISO erstmals ein Standarddokument veröffentlicht, das vollumfänglich zugänglich und barrierefrei ist. Sinnigerweise handelte es sich dabei um eine Aktualisierung des ISOStandards 14289-1, nunmehr vorliegend als ISO 14289-1:2014. Somit scheint das Rüstzeug vorhanden zu sein, um MeniX 9/2015

Barrierefreies PDF erstellen und testen

Fast am Ziel Helmut Moritz Der ISO-Standard zur Barrierefreiheit hat diese nicht nur zum Gegenstand, das Dokument entspricht auch selbst diesen Maßgaben. Ein Blick auf die praktische Umsetzbarkeit der aktuellen Vorschriften und die gebotenen Testmöglichkeiten. schen mit Behinderungen hinreichend dabei zu unterstützen, sich PDF-Dokumente problemlos mit assistiver Software zu erschließen.

Abgrenzung zu den W3C-Vorschriften Zu betrachten ist zunächst noch die Frage, wie der ISO-Standard PDF/UA die Definition nach WCAG ergänzt – die Web Content Accessibility Guidelines, die bis zum Erscheinen von PDF/UA als Richtlinie für die Veröffentlichung barrierefreier PDF-Dokumente zu Rate gezogen werden konnten – beziehungsweise sich davon abgrenzt. Die erste Version der WCAG erschien bereits 1999 als Emp-

fehlung des W3C (World Wide Web Consortium). Jedoch betrachtet WCAG sämtliche Internetinhalte und hat einen starken Fokus auf den Aufbau einer Webseite. PDF-Dokumente waren zwar qua Definition eingeschlossen, die Anwender waren aber weitestgehend mit der Frage alleingelassen, wie sie die Anforderungen der WCAG auch auf PDF-Dokumente anwenden sollten. Mit der Version WCAG 2.0 aus dem Jahre 2008 erschienen zwar einige Tipps für die PDF-Erstellung, allerdings fehlte nach wie vor eine genauere Diskussion darüber, wie ein Dokument beschaffen sein sollte. Genau zur Beantwortung dieser Frage wurde PDF/UA entwickelt. Dieser ISO-Standard füllt also die Lücke, die bezüglich PDF-Dokumenten stets in den 83


REPORT | PUBLISHING

Eine valide Tag-Struktur nach dem Matterhorn-Protokoll – mit logischen Ungereimtheiten (Abb.ˇ1)

Accessibility Guidelines von WCAG vorhanden war. Diese Vorgeschichte erklärt, warum die Anforderungen an ein PDF/UAkonformes Dokument Anwendern der WCAG recht bekannt vorkommen. Jedoch sind einige bedeutende Konkretisierungen enthalten. Wie bereits erwähnt, ist es zwingend erforderlich, dass ein barrierefreies PDF-Dokument mit Tags versehen ist. Diese kann man sich vorstellen wie HTML-Tags – tatsächlich heißen viele der PDF-Tags genauso wie ihre prominenteren Markup-Kollegen. Nach der ISO-Norm ist es aber nur noch zulässig, die in PDF-Version 1.7 spezifizierten Tags zu verwenden. Wer andere, also selbst definierte Tags einsetzt, muss im Dokument hinterlegen, welchen Standard-Tags diese entsprechen.

Unterschiedliche Tag-Hierarchien Jedoch bleibt auch in PDF/UA die Frage offen, wie die Hierarchie des Tag-Baums aufgebaut sein sollte: eher flachhierarchisch oder möglichst tief verschachtelt. Denn in einem längeren Dokument mit

vielen Unterkapiteln kann dies durchaus einen Unterschied machen. Während der eine Autor das Dokument so strukturiert, dass ein Kapitel aus Überschrift und Text mit Bildern besteht, dem dann das nächste derartige Kapitel folgt, mag ein anderer auch die Hierarchie von Unterkapiteln in einer tiefen Verschachtelung abbilden wollen. Erstere Vorgehensweise braucht zwar deutlich weniger Tags, aber bei letzterer ist die Struktur bis zur tiefsten Hierarchieebene aus den Tags erschließbar. Die Autoren des Standards haben sich die Antwort hierauf einfach gemacht: Lediglich die logische Lesereihenfolge muss aus dem Tag-Strukturbaum ersichtlich sein. Jedoch sei die Frage erlaubt, warum zu einer einfachen Abbildung einer Lesereihenfolge allein sechs Strukturelemente im Tag-Satz zur Verfügung stehen (Artikel, Teilung, Absatz, Teil, Abschnitt und Bereich); auch sind sieben unterschiedliche Überschriften in den Tags bekannt (Überschrift sowie die Überschriftenebenenˇ1 bis 6). Soll man also ein Dokument nun entsprechend seiner Logik und Hierarchie verschachteln? Oder reicht die logische Lesereihenfolge aus?

-TRACT ⚫ Mit dem ISO-Standard 14289-1:2014 liegen Vorgaben für barrierefreie PDFs vor, die spezifischer als ältere Dokumente sind, aber immer noch einige Fragen offen lassen. ⚫ Zum Test der Standardkonformität von Dokumenten stehen Werkzeuge von Adobe und einer Schweizer Stiftung zur Verfügung. ⚫ Nicht alle Tests auf Barrierefreiheit lassen sich maschinell erledigen, es bleibt ein signifikanter Teil Handarbeit.

84

Die Antwort ist, dass die Auszeichnung semantisch korrekt sein soll sowie ein flacher Hierarchiebaum einem tief verschachtelten vorzuziehen ist. Denn je mehr Tags in einer Verschachtelung verwendet werden, desto größer wird auch das PDF-Dokument. Im Kern sind also genau zwei Sachen zu beachten: die korrekte Reihenfolge sowie die semantische Korrektheit, bei der beispielsweise der Tag „Teil“ als Zusammenfassung für mehrere Abschnitte verwendet wird oder aber „Artikel“ zum Beispiel für einen eigenständigen Beitrag in einem Magazin. Abbildung 1 zeigt in der linken Spalte die Tag-Struktur des PDF-Dokuments zum Matterhorn-Protokoll (zu dessen Bedeutung später). Dargestellt ist ein Abschnitt (sect), in dem auf der nächsten Ebene vier Elemente enthalten sind, zunächst eine Überschrift zweiter Ebene (h2), dem folgt ein Textabschnitt (p), anschließend kommt eine Überschrift dritter Ebene (h3) und dann eine Tabelle (table). Diese Struktur ist nach PDF/UA-Standard valide. Sollten aber nicht auch die Überschrift dritter Ebene (h3) und die Tabelle in einem eigenen Abschnitt verschachtelt sein? Denn eigentlich ist der Bereich mit der h3 und der Tabelle logisch eine Ebene tiefer als die h2 und der einleitende Textabschnitt. Die Richtlinie sagt hierzu nein, da es die Semantik nicht verbessert, aber gleichzeitig die Komplexität und die Datei vergrößert.

Ohne Blinken und Flackern PDF/UA erlaubt eine Differenzierung zwischen „bedeutungstragenden Inhalten“ und dekorativen Seitenbestandteilen, den sogenannten „Artefakten“. Während die Inhalte mit Bedeutung für das Dokument mit logischen semantischen Tags ausgezeichnet sein müssen, reicht es bei den Artefakten, diese lediglich als solche zu kennzeichnen. Ebenso eine Forderung ist es, dass Informationen nicht ausschließlich über visuelle Mittel wie Kontraste oder die Anordnung innerhalb des Dokuments vermittelt werden dürfen. Daneben darf es in einem barrierefreien PDF-Dokument nicht blinken oder flackern – per Video oder per JavaScript eingebettete Effekte sind nicht erlaubt. Von elementarer Bedeutung ist natürlich die Beschreibung von Bildelementen mit einem Alternativtext, damit Nutzer mit visuellen Einschränkungen sich die Information einer Abbildung erschließen können. Dazu kommen dann noch die Forderungen nach einem spezifizierten Dokumententitel und der Definition der iX 9/2015


Hauptsprache. Ein Sprachwechsel innerhalb des Dokuments muss gekennzeichnet sein. Dies sind im Wesentlichen die Anforderungen an ein barrierefreies PDFDokument nach PDF/UA. Knapp ein Jahr nach Erscheinen des ISO-Standards PDF/UA veröffentlichte die PDF Association einen Prüfkatalog für die Konformität entsprechender Dokumente. Bekannt ist der am 7. August 2013 erschienene Prüfkatalog unter dem Namen Matterhorn-Protokoll. Das beinhaltet eine umfassende Tabelle von Fehlerbedingungen, die die Konformität eines PDF-Dokuments mit PDF/UA verhindern können.

Das Matterhorn-Protokoll erfordert menschliche Prüfer Insgesamt deckt das Protokoll 31 Prüfbereiche mit insgesamt 136 Bedingungen ab. 89 Bedingungen können maschinell geprüft werden, für die restlichen 47 muss ein menschlicher Prüfer in Aktion treten. Die Prüfbereicheˇ1 und 2 sowie 9 beschäftigen sich mit der Auszeichnung durch Tags. Ein Abbruchkriterium ist beispielsweise, wenn ein Inhalt weder als bedeutungsvoller Inhalt noch als Artefakt getaggt ist, was sich maschinell ermitteln lässt. Die Überprüfung der verwendeten Tags erfordert jedoch eine menschliche Bewertung, denn es geht um die Entscheidung, dass die Tags semantisch „angemessen“ zum ausgezeichneten Inhalt passen sollen. Doch eine Maschine kann nicht einmal erkennen, ob die Überschriftenzelle einer Tabelle zur Überschrift einer Tabellenspalte passt. Die Bereiche 3 bis 6 sind allesamt von einem menschlichen Prüfer zu testen und stellen Regeln auf für Flickern, Farbe und Kontrast sowie Audioinformationen. Ein Beispiel: „Ein oder mehrere MultimediaObjekte beinhalten flackernden Inhalt.“ Ist dies der Fall, ist der Standard nicht erfüllt.

mit kleineren formalen Themen zu einem Dictionary sowie OCR-generiertem Text beschäftigen, sind in Abschnittˇ9 erneut die Tags im Fokus. Hier ist einer der Kernprüfpunkte enthalten, den auch tatsächlich nur ein menschlicher Prüfer begutachten kann: Befinden sich die Tags in der logischen Lesereihenfolge? Die Definition der verwendeten Sprache innerhalb des Dokumentes behandelt Prüfbereich 11. Er beleuchtet beispielsweise, ob überhaupt eine Sprache definiert ist oder für Elemente wie Alternativtext, Anmerkungen, Formularbeschriftungen maschinell identifizierbar ist. Den im Dokument enthaltenen Grafiken und Bildern wendet sich der Prüfbereich 13 zu. Es muss nicht nur der richtige, nämlich der figure-Tag benutzt sein, sondern natürlich auch der so wichtige Alternativtext vorkommen. Dies gilt ebenso für Grafiken, die als Verweis dienen: Auch hier muss der Alternativtext angemessen und verständlich beschreiben, was der Leser beim Verfolgen des Verweises zu erwarten hat. Bezüglich der Überschriften, behandelt in Prüfbereich 14, sind einige Fehlerkriterien zu beachten. Werden im Dokument beispielsweise nummerierte Überschriften verwendet, gilt es als fehlerhaft, wenn die erste Überschrift nicht mit dem Tag h1 versehen ist. Auch darf der Autor in solch einem Dokument keine Überschriftenebene überspringen, beispielsweise eine h3 auf eine h1 folgen lassen. Etwas komplexer gestaltet sich die Prüfung von Tabellen (Prüfbereich 15) – hier sind vier der fünf Prüfkriterien nur von einem Menschen bewertbar. So ist es fehlerhaft, wenn in einer Tabelle eine Überschriftenzeile oder -spalte enthalten,

aber nicht als Überschrift gekennzeichnet ist. Grund: Screenreader bieten die Möglichkeit, sich wechselseitig Überschrift und Inhalt vorlesen zu lassen. Auch darf kein Inhalt als Tabelle ausgezeichnet sein, wenn er nicht in Spalten und Zeilen organisiert ist. Die nächsten Abschnitte des Matterhorn-Protokolls beschäftigen sich mit jeweils einfachen Regelwerken zu Listen (Prüfbereich 16), mathematischen Ausdrücken (17), Seitentitel- und Fußzeile (18) sowie Anmerkungen und Notizen (20). Hierfür ist vor allem wichtig, dass diese mit dem jeweils korrekten Tag versehen sind. Ein wichtiger Hinweis hierzu: Wird ein mathematischer Ausdruck mit dem zwingend vorgeschriebenen formel-Tag ausgezeichnet, muss für den Ausdruck auch ein beschreibender Alternativtext spezifiziert sein.

Hohe Anforderungen an sichtbare Kommentare Jeweils mit nur wenigen Kriterien beschäftigen sich die darauffolgenden Prüfbereiche 20 bis 27. Es geht um die Themen „Optionaler Inhalt“, „Eingebettete Dateien“, „Artikelfolgen“, „Digitale Signaturen“, „Statische Formulare“, „XFA“, „Sicherheit“ sowie „Navigation“. Allein für den Bereich „Kommentare“ sind im Prüfbereich 28 insgesamt 18 Prüfkriterien definiert – und damit die meisten Kriterien für einen einzelnen Bereich sowie die zweitmeisten insgesamt. Relevant sind hier die sichtbaren Kommentare. Sollen entsprechende Elemente in einem barrierefreien PDF-Dokument zum Einsatz kommen, ist besondere Sorgfalt vonnöten.

Dokumente ohne Titel unzugänglich Ein wichtiges Augenmerk legt PDF/UA auf die Metadaten des Dokuments. Denn ohne einen Dokumententitel und die grundsätzliche Kennzeichnung des Dokuments als „zugänglich“ oder gar bei einer gänzlichen Abwesenheit der Dokumenten-Metadaten kann auf keinen Fall eine Barrierefreiheit gewährleistet sein. Im Matterhorn-Protokoll sind die entsprechenden Regularien im Prüfbereichˇ6 enthalten. Während die Bereicheˇ7 und 8 sich iX 9/2015

Detailbericht der Prüfung eines barrierefreien PDF-Dokuments mit PAC 2. Im linken Bereich sind die einzelnen Prüfpunkte aufgeführt, im rechten Bereich wird zu Warnungen und Fehlern direkt visualisiert, welches das betroffene Element ist (Abb.ˇ2). 85


REPORT | PUBLISHING

In der Screenreader Preview erhält der Prüfer einen detaillierten und strukturierten Eindruck davon, wie sich das PDF-Dokument in einem Bildschirmleseprogramm darstellt. Von links nach rechts ist die Tag-Struktur nachvollziehbar, angereichert durch die jeweiligen Inhalte (Abb.ˇ3).

Denn es ist beispielsweise ein Fehlerkriterium, wenn in einem sichtbaren Kommentar ein Link enthalten, aber nicht als Link ausgezeichnet ist. Oder: Ist ein Kommentar zu einer Druckmarkierung vorhanden, muss diese als Artefakt ausgezeichnet sein. Nummer 29 und 30 sind erneut sehr kurze Prüfbereiche, in denen es um „Aktionen“ sowie die „XObjects“ geht. Dem schließt sich das letzte Kapitel an, das mit insgesamt 30 Prüfkriterien das mit Abstand umfangreichste ist und sich ausschließlich mit den Schriftarten beschäftigt. Bei diesen zahlreichen Kriterien handelt es sich zumeist um formelle technische Anforderungen an die verwendeten Schriftarten. Wichtig: Die verwendeten Schriftarten müssen eingebettet sein.

Prüfmethoden von Adobe und Schweizer Stiftung Zwei Prüfmethoden haben sich mittlerweile eingebürgert, eine vom PDFSchöpfer Adobe und eine von einer Schweizer Stiftung entwickelte. Natürlich enthält Adobe Acrobat eine Konformitätsprüfung nach PDF/UA. In Version XI findet sich unter den Werkzeugen für die „Ein-/Ausgabehilfen“ der Punkt „Vollständige Prüfung der Ein-/Ausgabehilfe“. Der Prüfbericht liefert einen umfassenden Check des Dokuments auf Barrierefreiheit. Zahlreiche wichtige Kriterien werden maschinell überprüft oder Hinweise darauf gegeben, wo eine manuelle Prüfung erforderlich ist. Dies beinhaltet bei86

spielsweise die logische Lesereihenfolge sowie den Farbkontrast. Zudem werden die formellen Kriterien zu Seiteninhalten, Formularen, Alternativtexten, Tabellen, Listen und Überschriften bewertet. Zu jedem der Prüfschritte findet sich eine hilfreiche Erläuterung in der OnlineAcrobat-Hilfe. Das unter anderem vom World Wide Web Consortium (W3C) empfohlene Tool der Wahl ist der PDF Accessibility Checker (PAC) der Stiftung zur behindertengerechten Technologienutzung „Zugang für alle“ aus der Schweiz. Dieses PDF/ UA-Prüftool ist derzeit in Version PACˇ2 frei verfügbar und bietet die umfangreichste Testmöglichkeit für barrierefreie PDF-Dokumente nach dem MatterhornProtokoll. Natürlich gilt auch für dieses Tool, dass sich die Prüfung auf die technisch möglichen Prüfpunkte fokussiert. Auch bei einer Prüfung per PACˇ2 sind die durch einen Menschen zu prüfenden Punkte selbstverständlich manuell zu bewerten. PACˇ2 bietet fünf Funktionen. Die erste ist die rein technische Prüfung, bei der alle maschinenprüfbaren Punkte aus dem Matterhorn-Protokoll durchlaufen werden und das Resultat aus einem Kurzbericht mit Angaben zu „bestanden“, „Warnung“ oder „Fehler“ sowie einer detaillierten Auswertung besteht. Stellt der Kurzbericht die Resultate auf der Metaebene dar, listet der zusätzliche Detailbericht alle Einzelprüfpunkte in maximaler Granularität auf. Ein Dialog im Detailbericht zeigt zu den identifizierten Warnungen und Fehlern das betroffene Element an.

Die dritte Funktion ist eine Darstellung des geprüften Dokumentes in der Art, wie es ein Bildschirmleseprogramm wahrnähme. Diese sogenannte „Screenreader Preview“ visualisiert alle Elemente in einer Tabelle, in der die Tags gemeinsam mit den Texten und Bildern dargestellt werden. Von eher akademischer Natur ist die Dokumentenstatistik in PACˇ2. Sie stellt dar, welche Tags wie häufig vorkommen. Eine detaillierte Strukturübersicht ist ebenfalls Teil des Prüfprogramms. So kann bis auf die unterste Ebene, also bis auf Textebene, analysiert werden, welche PDF-Elemente mit welchem Tag versehen sind und wie verschachtelt die logische Struktur ist. Prüfer achten zudem darauf, ob Tags nicht durch Spalten- oder Seitenumbrüche getrennt sind. Ein typischer Fehler ist auch, eine physikalische Seite des Dokumentes eigenständig in einen Struktur-Tag zu schachteln – was zumeist inhaltlich unlogisch ist. Auch Trennstriche innerhalb von Wörtern sollten nicht vorkommen, da Screenreader diese dann natürlich vorlesen.

Fazit Alles in allem ist durch PDF/UA ein extrem hilfreicher Fortschritt gelungen, das nicht ganz triviale Thema der barrierefreien PDF-Dokumente auf eine solide Basis zu stellen. Waren für einen langen Zeitraum viele Anforderungen zwar mehr oder weniger logisch, gab es aber keinen definierten Standard. Dank ISO 14289-1 ist diese Zeit der Unsicherheit und Interpretierbarkeit um die Anforderungen vorbei und es existieren gute Prüfverfahren. Dadurch ist es nun möglich, zuverlässig ein PDF-Dokument zu erstellen, das sicher den Anforderungen an Barrierefreiheit entspricht und von der Zielgruppe optimal erschlossen werden kann. (js)

Helmut Moritz arbeitet als Product Owner in einer agilen Produktentwicklung bei der 1&1 Internet AG und beschäftigt sich seit mehr als 10 Jahren mit barrierefreier Informationstechnologie.

Literatur [1]ˇHelmut Moritz; Publishing; Barrierefreie PDFs – der Stand der Dinge; Befreiung auf Raten; iX 12/11; S. 108 Alle Links: www.ix.de/ix1509083

iX 9/2015


REPORT | INTERNETSICHERHEIT

A

ngriffe auf die Verfügbarkeit von Internetdiensten finden laut BSI in Deutschland zurzeit über 32ˇ000mal pro Jahr statt – plus eine unbekannte Zahl undokumentierter Vorfälle. Die meisten finden in erpresserischer Absicht statt, hinzu kommen ideologisch motivierte Aktionen. Viele Opfer erfüllen die Forderungen, um die Verfügbarkeit sicherzustellen, andere nehmen einen Ausfall hin. Einen Schaden erleiden alle Betroffenen, egal ob und wie sie reagieren. Relativ einfach und preiswert auszuführende DDoS-Angriffe bedrohen zunehmend die Verfügbarkeit der Internetdienste. Medienwirksame Angriffe wie auf das Playstation-Netzwerk Ende 2014 oder das von China aus über die Suchmaschine Baidu per Code-Injection initiierte DDoS-Feuer auf GitHub verdeutlichen den Aufwärtstrend. Das Risiko, Ziel eines Angriffs zu werden, gilt als gering, doch jeder kann einen DDoS-Angriff ab etwa 50 Euro bei kriminellen „Dienstleistern“ buchen. Die Schäden gehen schnell in die Millionen. Firewalls und Intrusion-Prevention-Systeme (IPS) bieten entgegen weitläufiger Meinung keinen ausreichenden Schutz gegen DDoS-Angriffe. „DDoS“ steht für Distributed Denial of Service und deutet an, dass das angegriffene System zwar nicht abstürzt, den Dienst aber praktisch einstellt. Meist gehen solche Angriffe von zahlreichen kompromittierten Computersystemen („Bots“) aus. Die Täter legen die Zielsysteme koordiniert mit einer großen Last von Anfragen durch Erschöpfung von Ressourcen wie CPU, Arbeitsspeicher oder Übertragungskapazität lahm. Zum Teil sind Tausende oder sogar Millionen von Bots beteiligt. Wenn ein Täter 100ˇ000 Bots missbraucht und jeder davon nur 100 KBit/s Upstream nutzen würde, stünden bereits 10 GBit/s für den DDoS-Angriff zur Verfügung. Solche Überlastsituationen sind kaum zu handhaben und eine wachsende Herausforderung. Heutzutage sollte jeder ITVerantwortliche rechtzeitig Sicherheitsvorkehrungen treffen, um die Schäden im Angriffsfall begrenzen zu können. Die Nichterreichbarkeit der Internetdienste kann durch Umsatzeinbußen, Gewährleistungsfälle, Kundenabwanderung oder Reputationsschäden enorme Schäden hervorrufen, und das gilt nicht nur für „Big Player“. Die finanziellen Schäden betreffen neben der IT- und Sicherheitsabteilung oft auch die Marketing-Abteilung, den Kundenservice sowie das Risikomanagement und können ein Unternehmen schlimmstenfalls zur Geschäftsaufgabe zwingen. iX 9/2015

Internetdienste vor DDoS-Angriffen schützen

Von überall her Robert Fritzen, Norbert Pohlmann Mit der Zahl vernetzter Geräte und dem Trend zu „always online“ wächst die Bedrohung durch Distributed-Denialof-Service-Angriffe. Unternehmen und Organisationen sollten und können sich dagegen wappnen. DDoS-Angriffe sind daher prinzipiell für missgünstige Konkurrenten interessant. Meist dienen DDoS-Angriffe jedoch dazu, Firmen und Organisationen zu erpressen oder auf politische Ziele aufmerksam zu machen. Zu beliebten Zielen gehören Onlinespiele-Server, Banking-Portale, politische und ideologische Webseiten, Nachrichtenportale, VoIP-Dienstleister und viele mehr. Technisch wenig bewanderte Täter können solche Angriffe für ihre Zwecke bei „Stresstest“-Dienstleistern und in einschlägigen Portalen einkaufen. Manche nutzen nicht nur die laufend zuneh-

mende Übertragungskapazität der Netze, sondern zielen auch auf bestimmte Schwachstellen in Anwendungen, die im Rahmen einer adäquaten Abwehrstrategie zu beachten sind.

Gezielte Überlastung Durch das Kombinieren mehrerer DDoSMethoden kann ein Angreifer unterschiedliche Teile eines Internetdienstes gezielt überlasten sowie flexibel auf unzureichende Abwehrmaßnahmen und deren Schwachstellen reagieren [1]. 87


REPORT | INTERNETSICHERHEIT

Bot 1

Angriffsziel CPU

Anbindung

Applikation/ Dienst

RAM

Bot 2

Internet

Net-Stack

Bot n

Meist stehen Angreifern für einen DDoS-Angriff mehrere potenzielle Schwachstellen (hier rot umrahmt) zur Verfügung (Abb. 1).

Angriffsziel CPU RAM

Applikation/ Dienst

verstärkte Antwort

Anfrage (spoofedIP)

1..n AmplificationServer

Net-Stack

1..n Angreifer

Im Rahmen eines Amplification-Angriffs können Täter Ressourcen missbrauchen, ohne dass sie Kontrolle über die beteiligten Systeme benötigen (Abb. 2).

Folgende Teile der Dienst-Architektur können als Ziele von DDoS-Angriffen dienen: –ˇNetzanbindung: Der Angreifer produziert so viele unsinnige Datenpakete, dass die Bandbreite nicht ausreicht, sie zum Server zu transportieren. Bei hoher Last sinkt die Übertragungsqualität, und bei extremer Last muss der Router die meisten Datenpakete verwerfen, weil die Warteschlangen voll sind. –ˇProtokollstapel: Ein Crash oder ein Überlastungszustand lässt sich aufgrund von Fehlern in der Implementierung oder Eigenarten diverser Protokollfamilien hervorrufen, insbesondere auch der Verschlüsselungsverfahren. Zudem können Angreifer den Arbeitsspeicher durch sehr viele unvollständige Verbindungsanfragen komplett belegen, was die Verfügbarkeit eines Dienstes schnell stark einschränkt. –ˇApplikation: Mit maßgeschneiderten Anfragen können Täter auf fehlerhaft implementierte Teile bestimmter Anwendungen zielen. Dazu gehören harmlos anmutende Funktionen wie das Hashing oder

Datenbank-intensive Suchanfragen, die sinnvollen Anfragen CPU-Ressourcen entziehen. Solche Angriffe heißen auch „Low and Slow“, wenn sich die Datenpakete hinsichtlich Frequenz und Payload kaum von gewöhnlichem Datenverkehr unterscheiden lassen.

Reflection und Amplification Einen unheilvollen Aufwärtstrend verzeichnen Reflection- und AmplificationAngriffe, auch DrDoS genannt. Die Täter missbrauchen Server Dritter mittels UDP, die ein relativ kleines Anfragepaket mit viel größeren Paketen beantworten (Amplification) – und das mittels Address Spoofing an eine beliebige anzugreifende Ziel-IP-Adresse (Reflection). Der Angreifer muss dafür keine Kontrolle über den fremden Server gewinnen. Prominentester Vertreter ist der eigentlich veraltete Befehl monlist im Network Time Protocol. Entsprechend vernachlässigte NTP-Server versenden die

-TRACT ⚫ Erpresserische DDoS-Angriffe auf Firmen finden alltäglich statt und bilden eine kräftig sprudelnde Einnahmequelle für die Täter. ⚫ Die lokale Infrastruktur einer Organisation lässt sich praktisch nicht präventiv gegen heftige Denial-of-Service-Angriffe schützen. ⚫ Unternehmen können wichtige Online-Services zu bekannten Cloud-Anbietern oder auch spezialisierten Anti-DDos-Dienstleistern auslagern, um die Robustheit zu steigern.

88

Adressen der letzten 600 Geräte, mit denen sie Kontakt hatten. Daraus ergibt sich ein für Angreifer sehr attraktiver Verstärkungsfaktor von über 200. Viele weitere Protokolle sind anfällig für derartigen Missbrauch, darunter DNS, SNMP und sogar die P2P-Protokolle einiger Botnetze. Nicht nur rudimentäre Internet-Protokolle lassen sich für eine Amplification missbrauchen, sondern auch ausgewachsene Programmpakete wie die CMS- und Blogging-Software WordPress, genauer gesagt deren Pingback-Funktion, die eigentlich Querverweise zwischen Blogs generieren soll. Mittlerweile lässt sie sich mithilfe eines Plug-in bändigen (siehe „Alle Links“). Ohne diese Gegenmaßnahme können Angreifer Pingback-Requests mit der anzugreifenden Webseite als Ziel an beliebig viele WordPress-Seiten senden, die daraufhin allesamt das anzugreifende System kontaktieren. Als Nebeneffekt stehen Angreifern auf diese Weise nahezu beliebig viele SourceIP-Adressen für einen DrDoS-Angriff zur Verfügung. Besonders kritisch wird ein derartiger Angriff, wenn ein Botnetz-Betreiber mehrere Amplification-Server von verschiedenen Teilen seines Botnetzes aus parallel ansteuert. Laut Akamais Sicherheitsreport „State of the Internet“ lag der Anteil von Reflection-Angriffen im Vergleich zu allen DDoS-Angriffen im vierten Quartal 2014 bereits bei etwa 40 Prozent.

Abwehrstrategien gegen DDoS-Angriffe Auf DDoS-Angriffe sollten vor allem solche Unternehmen vorbereitet sein, deren Geschäft aus Internetdiensten besteht. Aber auch interne Abläufe kann ein DDoS-Angriff stark beeinträchtigen, beispielsweise wenn die komplette eigene Internetanbindung oder der Mailserver nicht mehr funktioniert. Als Rahmen einer Abwehrstrategie empfehlen sich drei grundlegende Kategorien: Sicherheitsrichtlinien, eine robuste Auslegung der eigenen Infrastruktur und das Hinzuziehen externer Unterstützung. Ein Unternehmen sollte zuerst analysieren, welche Risiken den eigenen Internetdiensten drohen und welche Folgeschäden Ausfälle verursachen können. Daraus ergibt sich das Budget für die Schutzmaßnahmen. Es folgt ein Ablaufplan mit Richtlinien für die Vorgehensweise im Ernstfall. Er legt spezielle Handlungsrollen für das IT-Personal, andere Geschäftsabteilungen und eingebundene Dienstleister fest. Den Abschluss der iX 9/2015


DDoS-Angriffe lassen sich durch rein präventive Maßnahmen kaum vollständig abwehren, aber ihre Auswirkungen lassen sich zumindest begrenzen. Ein beliebtes, aber zugleich besonders teures und dabei wenig wirksames Vorgehen besteht darin, einfach sämtliche bedrohten Ressourcen nach dem Motto „viel hilft viel“ aufzustocken. Dafür kommen mehr Übertragungskapazität sowie mehr und leistungsstärkere Server infrage. Gezielte Angriffe hebeln diese Art „Schutz“ jedoch mit Leichtigkeit aus. Ein wirksamer Schutz muss daher zum Ziel haben, die Infrastruktur für den Täter praktisch aus dem Netz auszublenden, sobald er seinen Angriff in Gang setzt. Da DDoS-Angriffe meist von vielen verschiedenen IP-Adressen ausgehen, kommt zum Beispiel ein beizeiten vorbereitetes Whitelisting für besonders wichtige, zugriffsberechtigte Nutzer oder Kunden infrage. Bei Webdiensten hingegen, auf die viele normalerweise anonyme Benutzer Zugriff haben, können eine Login-Seite, Captchas oder eine Überprüfung der Browser-Echtheit den Dienst auf Anwendungsebene schützen. Nur einem relativ simplen und nicht besonders intensiven Angriff auf essenzielle Dienste können die Systemverantwortlichen mithilfe von Sicherheitsausrüstung begegnen, ohne sich zugleich vor einem Großteil der erwünschten Zugriffe abzuschotten. Wenn die globale Verfügbarkeit des Dienstes keine Priorität hat, können die Administratoren kurzerhand ganze IPAdressbereiche anhand von GeolocationKriterien blockieren, um die Traffic-Flut einzugrenzen. Auf derlei Sofortmaßnahmen darf sich allerdings niemand ausruhen, da deren Effekt schnell zu verpuffen droht. Angreifer können ihre Taktik laufend ändern sowie ihre Angriffsressourcen aufrüsten. Ebenso wichtig wie das Einleiten technischer Gegenmaßnahmen ist der richtige Umgang mit der Öffentlichkeit [2]. Es empfiehlt sich, die Hintergründe der Angriffe sowie das weitere Vorgehen transparent zu dokumentieren. Wer erläutert, iX 9/2015

Anti-DDoS-Appliance

Anti-DDoS-Appliances sind leider kein Allheilmittel gegen Angriffe auf die eigene Infrastruktur (Abb. 3).

ISP

Infrastruktur

Internet

Der eigene Internetprovider kann DDoS-Angriffen mit Filtermaßnahmen außerhalb des Zielnetzes die Wucht nehmen (Abb. 4).

dass Kriminelle den Ausfall verursachen und dass die Zuständigen intensiv an einer schnellen Lösung arbeiten, kann den Frust über den Ausfall auf die Angreifer lenken und den Image-Schaden begrenzen.

Grenzen der Anti-DDoS-Appliances Als schnell installierter Basisschutz für die eigenen Dienste stehen spezielle Anti-DDoS-Appliances zur Verfügung. Auch viele Firewalls enthalten inzwischen Schutzfunktionen gegen verteilte Angriffe. Solche Appliances filtern den Datenstrom und wirken vielen Angriffsmustern

im Rahmen der verfügbaren Anbindungsbandbreite entgegen. Sie bieten, je nach Ausführung, neben Filterung altbekannter DoS-Muster inzwischen auch heuristische Filter gegen bis dato unbekannte Angriffe auf Applikationsebene, „Low and Slow“- sowie Multivektor-Angriffe. Lastet das Angriffsvolumen allerdings die verfügbare Bandbreite aus – und das ist leider meist der Fall –, kann die Appliance kaum helfen. Die Leitung wird dann bereits am Gateway zur Infrastruktur „verstopft“. Zudem wirken die Filter oft nicht gegen alle Angriffe, insbesondere wenn die Täter Verschlüsselung und Amplification nutzen. Eine schnelle Rundum-sorglos-Lösung bieten diese Appliances folglich nicht. Angriffe mit großem initiiert Rerouting

Angriffsziel CPU Applikation/ Dienst

RAM Net-Stack

DDoS-Erkennung

Infrastruktur schützen statt ausbauen

Internet

Infrastruktur

Autonomes System 2

Autonomes System 1 Datenverkehr-Angriff

Autonomes System

BGP-Router

DDoS-Filter

Das Monitoring erkennt einen DDoS-Angriff, während sich das filternde Netz im Hot-Standby befindet (Abb. 5).

Angriffsziel CPU RAM Net-Stack

Applikation/ Dienst

DDoS-Erkennung

Konzeptionierung bilden Tests mit simulierten Angriffsszenarien. Auch später im laufenden Betrieb ist die Abwehrstrategie regelmäßig zu überprüfen und zu testen. So lässt sich feststellen, ob die Maßnahmen aktuellen Angriffsvarianten noch standhalten, und ob das Personal im Falle eines Angriffs planmäßig handeln könnte.

Autonomes System 2

Autonomes System 1

Autonomes System DDoS-Filter

Kurz nach dem Beginn des DDoS-Angriffs wird der Datenverkehr über das spezielle autonome System umgeleitet und dort gefiltert (Abb. 6). 89


REPORT | INTERNETSICHERHEIT

AS1 Cluster Static Content Abruf

CDN

Firewall

Monitoring

AS3 Cluster

AS2 Cluster

Static Content Server

AS4 Cluster

Ein über mehrere autonome Systeme verteilter CDN-Cluster speichert statische Inhalte redundant zum schnellen Abrufen (Abb. 7).

Mustern ein Scoring-Modell zum Erkennen von Anomalien im Netzwerkverkehr. Ein Content Delivery Network (CDN) verteilt statische Inhalte redundant auf Server, die an vielen Standorten über verschiedene AS angebunden sind (Abb. 7). CDNs bieten durch die kombinierten Übertragungskapazitäten der AS einiges an Robustheit. Die Inhalte kann der jeweils physisch nächstgelegene oder am besten verfügbare Server-Cluster rasch ausliefern. Zieht ein Angriff einen Server in Mitleidenschaft, kann ein anderer Server oder Cluster die Inhalte liefern. Ein Angreifer müsste also gegen mehrere AS vorgehen. Dynamische Inhalte lassen sich allerdings nicht zwischenspeichern. Daher eignet sich ein CDN in diesem Fall weniger gut als Schutzmaßnahme.

Mehr Robustheit durch verteiltes Liefern AWS

Ein Auslagern der eigenen Dienste in die Cloud kann deren Robustheit gegenüber Angriffen dank hoher Redundanz und auf viele Standorte verteilter Ressourcen erhöhen (Abb. 8).

Datenvolumen lassen sich wirksamer in Zusammenarbeit mit einem externen Dienstleister für Monitoring und DDoSAbwehr in den Griff bekommen.

Gegenmaßnahmen nach außen verlagern Erster Ansprechpartner auf dem Weg zu externer Unterstützung im Notfall ist der eigene Internetprovider. Der kann eigene Filter einrichten und bestimmte Adressbereiche vorübergehend blockieren. Aber nicht jeder Provider sieht sich in der Lage oder Verantwortung, bei einem DDoS-Angriff Maßnahmen zu ergreifen, die über das Sicherstellen des eigenen Geschäfts hinausgehen. In den meisten Fällen ist es deutlich wirkungsvoller, auf DDoS-Abwehr spezialisierte Dienstleister mit eigenen Filternetzwerken in Anspruch zu nehmen. Diese bieten eine Reihe von Schutzkonzepten mit verschiedenen Vor- und Nachteilen und Wirkungsgraden an. 90

Einige Anbieter betreiben spezielle autonome Systeme (AS), die DDoS-Traffic mittels BGP-Rerouting ausfiltern können. Quell- und Ziel-Adressen der Datenpakete bleiben dabei unverändert, und die Umleitung durch das Filternetz kostet kaum Zeit. Alternativ steht meist eine DNSUmleitung speziell für Webserver zur Verfügung. Die Filtertechnik läuft ständig im Hot-Standby. Sobald das Monitoring einen Angriff feststellt, leiten die Router den Datenverkehr per Netz-Announcement über das Filternetz (Abb. 5 und 6).

Traffic-Scrubbing-Netze Diese Schutzmaßnahme erfordert – in IPv4-Maßstäben – mindestens ein eigenes /24-Subnetz. Der deutsche Anbieter Link11 etwa verfügt über Rechenzentren mit 500-Gbps-Anbindung an verschiedene Carrier und setzt auf eigene Filter zum Erkennen und Abwehren von Angriffen. Als Kriterium für die Filterung von DDoS-Verkehr dient neben bekannten

Die Robustheit der eigenen Internetangebote lässt sich mit Cloud-Diensten wie Amazons Web Services (AWS) steigern. Anwendungen, Datenbanken, Webseiten und Inhalte sind in die Cloud ausgelagert, die viele redundante Ressourcen in einer weltweit verteilten Umgebung bietet. Dank schneller Anbindung kombiniert mit Skalierbarkeit und Replikation können Anbieter hier Webservices besser vor DDoS-Angriffen geschützt unterbringen als in den eigenen Räumen. Ein Umzug in die Cloud bedeutet manchmal jedoch viel Aufwand und kommt nicht für alle Teile der eigenen Infrastruktur infrage, insbesondere wenn es um sensible Daten geht. Für einen verbesserten Datenschutz stellt Amazon seinen CloudHSM-Service bereit. Spezialisierte Cloud-Filternetze vereinen alle oben erwähnten Konzepte unter einem Dach, mit unterschiedlichen Abstufungen für einzelne Webserver oder auch ganze Infrastrukturen. Die Anbieter agieren hier als Reverse-Proxy über einem weltweiten Content Delivery Network (CDN) mit DNS-Servern, Caching, Blocklisten, BGP Origin Protection, Web Application Firewall (WAF), Malware-Scanner sowie Spam- und DDoS-Filtern. Mittels ihrer redundant und großzügig dimensionierten Infrastruktur erreichen solche Cloud-Filternetze einen starken Schutz mit vielen einfach nutzbaren Zusatz-Services speziell für Webanwendungen. Je nach Schutzbedarf, SLA und Support können sich die Kunden zwischen einem kostenlosen Basis-Schutz und Verträgen für über 5000 US-Dollar monatlich entscheiden. Die eigenen Server sind iX 9/2015


durch die Cloud-Infrastruktur vor Angriffen abgeschirmt. Dafür muss der Nutzer lediglich einen DNS-Server seines Dienstleisters als verantwortlichen Nameserver der eigenen Domain(s) eintragen. Alles Weitere findet über die Webseite des Anbieters statt. Webserver lassen sich mit relativ wenig Aufwand und geringem Budget schützen. Zu den Cloud-FilterAnbietern gehören die Firmen Cloudflare, Akamai und Incapsula. Trotz derlei Maßnahmen gibt es bereits gelegentlich Angriffswellen, die sogar die Kapazitäten solcher Anbieter überschreiten. Derartig heftige Störungen sind allerdings noch die Ausnahme, bestätigen aber: Hundertprozentigen Schutz vor DDoS-Angriffen gibt es ebenso wenig wie absolute Sicherheit. Ziel solcher Strategien und Sicherheitsmaßnahmen ist immer, das Schutzniveau und somit die Hürden für Angreifer möglichst hoch zu setzen. Der letzte große Angriff auf das Playstation-Netzwerk mit berichteten 1,2 Tbps Volumen ist ein gutes Beispiel dafür. Bei gezieltem Ausnutzen mehrerer Schwachpunkte zugleich (Multivektoroder auch „hybride“ Angriffe) kann ein eigenständiges Filtersystem meist nicht mehr alle „Low and Slow“-Varianten erkennen und unterbinden.

Nicht zum Mittäter werden Schlecht konfigurierte IT-Endgeräte und Server sind potenzielle Tatwerkzeuge, da sie die Basis für Botnetze und Amplification-Angriffe bilden. Administratoren müssen verhindern, dass vom eigenen Netzwerk DDoS-Aktivitäten ausgehen. Die eigenen öffentlich erreichbaren Server sind auf Missbrauchspotenzial für Amplification-Angriffe zu prüfen. Zu den wichtigen Maßnahmen gehört das Abschalten offener Rekursion auf DNS-Servern. Es sollten nur rekursive DNS-Anfragen aus vertrauenswürdigen Quellen erlaubt sein. NTP-Server laufen häufig auf älteren, schlecht gewarteten Servern. Da-

Angriffsziel CPU RAM

Applikation/ Dienst

Net-Stack Internet

Bot

Bot

Spezialisierte Anbieter bauen ihre Cloud eigens zum Schutz ihrer Kunden gegen Angriffe auf (Abb. 9).

bei müssen gerade diese unbedingt auf dem aktuellen Stand sein. Grundlegende IT-Sicherheitsmaßnahmen wie Awareness-Kampagnen und Endpoint-Protection dämmen das Infektionsrisiko für Botnetz-Malware weiter ein. Darüber hinaus sollte IP-Spoofing mittels Filtern des ausgehenden Datenverkehrs (Egress Filtering) unterbunden sein. Wer keine ausreichenden Vorkehrungen gegen den Missbrauch der eigenen Infrastruktur als „Waffe“ trifft, kann möglicherweise schadenersatzpflichtig gegenüber dem Angegriffenen werden. Der Angegriffene wiederum muss umgehend Beweise für ein rechtliches Vorgehen und eine technische Analyse sichern. Dazu zählt die Kommunikation der Erpresser ebenso wie protokollierbare IPAdressen. Zudem sollten die Betroffenen Dauer, Intensität und Angriffsvektoren erfassen – sich aber nicht auf erpresserische Forderungen einlassen. Einerseits würde ein Nachgeben das kriminelle Geschäftsmodell bestätigen und stärken, andererseits kann sich niemand auf das Abstellen der Angriffe nach einer getätigten Zahlung verlassen. Wer zahlt, provoziert zumeist weitere Forderungen seitens der Erpresser. Stattdessen sind umgehend Abwehrmaßnahmen einzuleiten sowie die Polizei einzuschalten und Anzeige zu erstatten. Einen weiteren Aspekt sollte jeder zu seiner DDoS-Abwehrstrategie im Hinterkopf behalten: Die Angriffe dienen gerne als strategisches Ablenkungsmanöver, um IT-Mitarbeiter zu beschäftigen und vom übrigen Sicherheits-Monitoring abzulenken. Auf diese Weise können anderweiti-

Onlinequellen [a] BSI; Die Lage der IT-Sicherheit in Deutschland 2014 https://www.bsi.bund.de/DE/Publikationen/Lageberichte/lageberichte_node.html [b] Allianz für Cyber-Sicherheit; Thema Q1/2015: DDoS-Angriffe im Cyber-Raum https://www.allianz-fuer-cybersicherheit.de/ACS/DE/Informationspool/Themen/ DDoS/ddos.html [c] Seminararbeit „Distributed-Denial-of-Service-DDoS-Angriffe https://www.internet-sicherheit.de/fileadmin/docs/publikationen/2015/Seminararbeit_ Distributed-Denial-of-Service-DDoS-Angriffe.pdf [d] WordPress.org: Disable XML-RPC Pingback https://wordpress.org/plugins/disable-xml-rpc-pingback/

iX 9/2015

DDoS-Filter Cloud

ge Schwachstellen unbemerkt ausgenutzt und dabei Zugangsdaten, geistiges Eigentum, Geld oder sonstige Daten beispielsweise durch eingeschleuste Malware entwendet werden.

Ausblick Die Zeiten des „Internet of Everything“ kommen. Ganze Zombie-Armeen aus vielen schlecht gesicherten Embedded-Devices werden DDoS-Angriffen zusätzlichen Aufschwung verleihen. Schon heute kommen die Überfälle schnell und meist unvorhergesehen. Verantwortliche in Firmen und Organisationen, deren Umsatz und Geschäftsbetrieb von Internetdiensten abhängt, sollten sich so bald wie möglich um eine passende Abwehrstrategie kümmern. (un)

Robert Fritzen (B.Sc.) ist wissenschaftlicher Mitarbeiter im Bereich Botnetzerkennung am Institut für Internet-Sicherheit – if(is) der Westfälischen Hochschule Gelsenkirchen.

Norbert Pohlmann arbeitet als Informatikprofessor für Verteilte Systeme und Informationssicherheit sowie Leiter des Instituts für InternetSicherheit – if(is) an der Westfälischen Hochschule Gelsenkirchen. Außerdem ist er Studienbeauftragter für den Master Internet-Sicherheit.

Literatur: [1]ˇRobert Fritzen, Norbert Pohlmann; Distributed Denial of Service Attacks (DDoS) – Wie robust sind Dienste im Internet?; IT-Sicherheit – Management und Praxis, DATAKONTEXT-Fachverlag, 2/2015 [2]ˇMarcel Knop; Schadensbegrenzung; Management von Cyberkrisen; iX 7/2015, S. 78 Alle Links: www.ix.de/ix1509087

91


REPORT | SYSTEMSICHERHEIT

Windows 10 verzichtet auf Zertifikats-Pinning

Nicht wählerisch Lukas Grunwald

Windows 10 sammelt mehr Benutzerdaten als jede frühere Version und überträgt sie an Microsoft. Weil das Betriebssystem nicht wählerisch mit den Zertifikaten der Gegenstelle umgeht, könnten Unbekannte ohne allzu großen Aufwand den Datenverkehr belauschen und sensible Informationen sammeln.

S

eit dem 29. Juli 2015 verteilt Microsoft sein neues Betriebssystem Windows 10 per Upgrade-Tool, mit dem es Windowsˇ7 und 8.1 versorgt hat. Dabei informiert das Unternehmen die Benutzer jedoch nicht über Risiken und Nebenwirkungen des Upgrades. Übernimmt man bei der Express-Installation die empfohlenen Einstellungen, hat man sich gewissermaßen eine Datensammelstelle eingerichtet. Ausgerechnet beim Übertragen der gesammelten Nutzerdaten verzichtet der Hersteller jedoch auf das an anderen Stellen eingesetzte Certificate Pinning. Windows überträgt permanent Telemetriedaten wie IP-Adresse, Computerhersteller, BIOS- und OEM-Informationen, den Standort (Geolokation) sowie

92

die Benutzer- und Maschinenidentität an den Konzern. Somit kann Microsoft jede Windows-10-Installation samt UserAktionen nachverfolgen – und auch jeder Unbekannte, wenn er sich Zugriff auf diese Daten verschafft. Außerdem speichern Dienste wie OneDrive (früher SkyDrive) oder Sync Settings vertrauliche Daten in der Cloud, sofern der Benutzer das nicht über eine Einstellung verhindert. Das Mitschneiden dieses standardmäßig verschlüsselten Datenverkehrs mit einem SSL-Interceptor sollte prüfen, wie sicher dieser Datenfluss in die Wolke tatsächlich ist. Der Interceptor klinkt sich in den Austausch zwischen der Windows-10-Installation und Microsofts Servern ein (Manin-the-Middle, MITM). Er entschlüsselt

die eingehenden SSL-Verbindungen und verschlüsselt sie anschließend wieder, um keinen Verdacht zu erregen. Mit einem nur für diesen Zweck kurzzeitig erstellten (On-the-Fly-)Schlüssel erscheint dem Benutzer die Verbindung zu Microsoft legitim und sicher. Dazu muss auf dem Windows-Computer lediglich die Zertifizierungsstelle (Certificate Authority, CA) hinterlegt sein, die auf dem Interceptor die Schlüssel generiert. Das Zusammenspiel der Komponenten im Test zeigt Abbildungˇ1. Damit solche Angriffe nicht ihr Ziel erreichen, kommt üblicherweise Certificate Pinning zum Einsatz. Bei diesem Verfahren erhält eine Softwarekomponente per automatischer Verteilung das Zertifikat (wahlweise eine seiner Eigenschaften, etwa die Prüfsumme) eines kritischen Servers, an den sie Daten verschickt. Googles Browser Chrome sowie Firefox beispielsweise nutzen diese Technik für bestimmte Webseiten. Tests mit dem SSL-Interceptor unter Windows 10 ergaben jedoch, dass Certificate Pinning lediglich beim WindowsUpdate zum Einsatz kommt – bei den zahlreichen anderen Cloud-Diensten der neuen Betriebssystemversion jedoch nicht. Somit lässt sich beobachten, was Windows alles „nach Hause“ schickt. Windows 10 sendet kontinuierlich im Abstand einiger Minuten sowie unmittelbar nach dem Verbinden mit dem Internet Informationen zum Computersystem und zur Netzverbindung an Microsoft, beispielsweise den Verbindungstyp, den WLAN-Namen, die ID des Access Point sowie die Maschinenidentität und den Maschinentyp (siehe Listingˇ1).

Browserverlauf in der Cloud Auch Microsofts neuer Browser Edge verzichtet in den meisten Fällen darauf: Lediglich das Facebook-Zertifikat ist in ihm gepinnt, das des Microsoft-eigenen Cloud-Dienstes OneDrive jedoch nicht. Wer mit Edge surft, legt zudem zahlreiche Spuren offen. Den vollständigen URL-Aufruf samt Parameter sendet die Software übers Netz (siehe Listingˇ2). Einige Daten sind zwar per Base64 kodiert, verwandelt man jedoch einen solchen String mit dem Kommando base64 –d in Klartext, erhält man die ursprüngliche Webadresse: aHR0cDovL3d3dy5oZWlzZS5kZS8= — -> http://www.heise.de/

Da der Browser zusätzlich zur URL sämtliche Parameter überträgt, erlauben iX 9/2015


Serviceprovider SSL (Original)

Firma XYZ SSL (MITM)

SSLProbe

Microsoft

SSL (MITM)

Backup online

Firewall mit NAT-Gateway

Klartext

Windows 10

Analysesystem

Entschlüsseln des SSL-Datenverkehrs vor der Firewall: Weil Windows bei seinen CloudDiensten auf Zertifikats-Pinning verzichtet, kann jeder Provider, Geheimdienst oder sonstige Unbekannte mitlesen, wenn er ein gültiges Zertifikat vorweist (Abb.ˇ1). Listing 1: Daten zur Netzverbindung und zum System [..] X-MSEdge-ExternalExpType: JointCoord X-MSEdge-ExternalExp: d-thshld39,d-thshldspcl40,d-thshld42 Content-type: text/xml X-Search-SafeSearch: Moderate X-Device-SKU: To be filled by O.E.M. X-Device-MachineId: {7A00EF93-FD60-45AA-ACB0-06629146C562} X-BM-Market: DE X-BM-DateFormat: M/d/yyyy X-Device-OSSKU: 48 X-Device-NetworkType: ethernet X-BM-DTZ: 120 X-DeviceID: 0100040C0900369F X-BM-DeviceScale: 100 X-Device-Manufacturer: Gigabyte Technology Co., Ltd. X-BM-Theme: ffffff;004275 X-BM-DeviceDimensionsLogical: 344x520 X-BM-DeviceDimensions: 344x520 [..]

Listing 2: Edge-Browser übermittelt Base64-kodierte URLs POST /urs.asmx?MSURS-Client-Key=5178pvN3uGdwzGWbvvu6Nw%3d%3d&MSURS-MAC=q0Asz9t12ok%3d HTTP/1.1 Accept: text/* Content-Type: text/xml; charset=utf-8 User-Agent: VCSoapClient Host: urs.microsoft.com Content-Length: 571 Cache-Control: no-cache <RepLookup v="5"><G>379BDC39-D58D-44AA-986B-FD2CBFFA75A6</G> <O>80E6C742-3F85-4A5C-9405-0930AB345910</O><D>10.0.8110.6</D><C>11.00.10240.16384</C> <OS>10.0.10240.0.0</OS>9.11.10240.16384</I><L>de-DE</L><RU>aHR0cDovL3d3dy5oZWlzZS5kZS8=</RU> <RI>0.0.0.0</RI><R><Rq><URL>aHR0cDovL3d3dy5oZWlzZS5kZS8=</URL><O>PRE</O><T>TOP</T><HIP> 2a00:1450:4005:0800:0000:0000:0000:100b</HIP></Rq><Rq> <URL>aHR0cDovL1syYTAwOjE0NTA6NDAwNTowODAwOjAwMDA6MDAwMDowMDAwOjEwMGJdLw==</URL> <O>PRE</O><T>IP</T><HIP>[2a00:1450:4005:0800:0000:0000:0000:100b]</HIP></Rq></R> <WA/><PRT>219</PRT></RepLookup>

diese Daten unter Umständen den Einbruch in Webanwendungen. Ein Angreifer könnte etwa eine Session übernehmen oder ein System per DoS-Angriff (Denial of Service) lahmlegen. Hier liefern Chrome und Firefox mit dem integrierten Pinning einen besseren Schutz als Microsofts Edge-Browser. Aktiviert man Sync Settings zum Übertragen von Einstellungen auf einen anderen Computer, erlaubt man Edge außerdem zusätzlich das Senden von Cookies, Benutzernamen und Passwörtern. Der Browser speichert sie in speziellen iX 9/2015

OneDrive-Ordnern. Auch diese Daten ließen sich demnach mit einem eigenen Zertifikat abfangen und mitlesen, weil das System die ausgetauschte CA nicht bemerken würde. Noch schlimmer: Sogar lokale URLs im Intranet einer Firma, beispielsweise aus der Buchhaltungsanwendung, finden auf diese Weise ihren Weg zu Microsoft oder einem möglichen Angreifer. Sollte man den SmartScreen-Filter in Windows 10 nicht deaktivieren, überträgt er bei jedem Download den Dateinamen, einen Hash-Wert der Datei, Metainfor-


REPORT | SYSTEMSICHERHEIT

Digitale Privatsphäre Administratoren sollten die meisten Funktionen zum Datensammeln in Windows 10 nach Möglichkeit per Skript oder Eingabeaufforderung deaktivieren. Außerdem sollten sie einen anderen Browser als Edge verteilen, da man ihm das Datensammeln per Bing und anderen MicrosoftDiensten nur schwer untersagen kann. Des Weiteren ist es ratsam, die Dienste SmartScreen und Sync Settings auszuschalten. Außerdem empfiehlt es sich, die folgenden Einstellungen in der Registry zu setzen: REM reg reg reg reg reg reg reg

*** add add add add add add add

Telemetry & Data Collection abstellen *** "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata" /v PreventDeviceMetadataFromNetwork /t REG_DWORD /d 1 /f "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f "HKLM\SOFTWARE\Policies\Microsoft\MRT" /v DontOfferThroughWUAU /t REG_DWORD /d 1 /f "HKLM\SOFTWARE\Policies\Microsoft\SQMClient\Windows" /v "CEIPEnable" /t REG_DWORD /d 0 /f "HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat" /v "AITEnable" /t REG_DWORD /d 0 /f "HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat" /v "DisableUAR" /t REG_DWORD /d 1 /f "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f

REM *** Cortana abstellen *** reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0

Listing 3: Cortana sendet jeden Start einer Anwendung ","K":1001,"Q":"cmd","Val":"CG","Ho":2,"Gr":3,"HC":1,"DeviceSignals":{"Rank":0,"PHits":null, "Id":"C:\\WINDOWS\\system32\\cmd.exe","DName":"cmd"}}]},{"T":"D.LocalApps","AppNS": "SmartSearch","Service":"AutoSuggest","Scenario":"LocalApps","SC":1,"DS":[{"T":"D.Url", "Tx":"Command Prompt","K":1002,"Q":"Command Prompt","Val":"PP","Ho":2,"Gr":0,"DeviceSignals": {"Rank":990,"PHits":{"0":"System.FileName","1":"System.ParsingName"},"Id": "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\cmd.exe","DName":"Command Prompt","LAD": "2015-07-31T11:28:57.852Z","AppLnch":7,"Args":0,"MDN":0},"RankerSignals":{"rankingScore": 7.170697083715229,"featureStore":{"0":0.18786,"1":1,"2":7,"3":0.00257,"5":"0.001", "6":131218.02,"7":990,"8":1,"

Fazit

Listing 4: BitLocker-Schlüssel in die OneDrive-Cloud übertragen User-Agent: Microsoft SkyDriveSync 17.3.5907.0716 ship; Windows NT 10.0 (10240) X-TransactionId: Plat.17.3.5907.0716.357c54f5-4c12-4b9f-a5ba-4a09a8adbb09 X-RequestStats: did=fe86480b-79e4-6cd3-1401-214f65e1f20d Wlc-Version: 23 Host: act-3-blu.mesh.com HTTP/1.1 200 OK Cache-Control: no-store,no-cache Pragma: no-cache Transfer-Encoding: chunked Content-Type: application/octet-stream;v0 Last-Modified: Sun, 02 Aug 2015 17:35:12 GMT ETag: 0 Date: Sun, 02 Aug 2015 17:35:19 GMT act-3-blu.mesh.comd 4S7ZFSJDEZMZ5YKVWT7UJVUJTQe -urn:uuid:c992bfe4-2623-9e59-e155-b4ff44d6899c

Beim Einrichten von BitLocker sollte man den Recovery Key keinesfalls in Microsofts Cloud speichern – wer den Datenverkehr entschlüsselt, gelangt in seinen Besitz (Abb.ˇ2).

mationen und Teile des Inhalts (beispielsweise Zertifikate). Beim Starten von cmd.exe etwa überträgt die digitale Assistentin Cortana diesen Aufruf zusammen mit etwaigen Parametern an Microsoft, wie Listingˇ3 zeigt. Damit kann jede gestartete App nachvollzogen werden. Das Unternehmen verarbeitet dem94

Angreifer könnte somit auf die dort hinterlegten Passwörter, BitLocker-Keys und andere sicherheitskritische Informationen zugreifen (siehe Listingˇ4). Auf das Speichern des Recovery Key bei Microsoft sollte man deshalb beim Einrichten von BitLocker verzichten.

nach auch die Daten von Cortana in seiner Cloud, weshalb es grundsätzlich möglich ist, vom Benutzer zusätzlich eine Schrift- und eine Sprachprobe zu erhalten. Auch mit Microsofts Speicherdienst OneDrive verbindet sich Windows 10 trotz der SSL-Interception klaglos. Ein

In den neuen Datenschutzbestimmungen zu Windows 10 räumt sich Microsoft weitreichende Befugnisse zum Datensammeln ein. Es bleibt abzuwarten, ob die Rechtsprechung in Deutschland hier noch Änderungsbedarf feststellt. Bedenklich erscheint jedoch in jedem Fall das inkonsistente Sicherheitskonzept des Systems, das Certificate Pinning nur selektiv einsetzt. Der Schutz vor falschen Zertifikaten kommt lediglich beim Windows-Update sowie bei ausgewählten Webseiten in Edge zum Tragen – Microsoft ist die Bedeutung des Pinning demnach durchaus bekannt. Das Mitschneiden des verschlüsselten Datenverkehrs erinnert an Next-Generation-Firewalls, mit denen Unternehmen ihre Mitarbeiter überwachen, nur dass an deren Stelle Microsoft oder unbekannte Angreifer treten. Damit die Privatsphäre und die Integrität vertaulicher Firmendaten gewahrt bleiben, sollte man unbedingt die zugehörigen Datenschutzeinstellungen anpassen (siehe Kasten „Digitale Privatsphäre“). Bis zum Redaktionsschluss lag iX auf Anfrage keine Stellungnahme von Microsoft zu den Entdeckungen vor. (tiw)

Lukas Grunwald ist CTO bei Greenbone Networks in Hildesheim und ist in diverse freie Softwareprojekte involviert.

iX 9/2015


REPORT | BETRIEBSSYSTEMSICHERHEIT

A

uch mit Windows 10 behält Microsoft seinen Marketing-Spagat bei, dasselbe Betriebssystem für Privatanwender wie für Firmenkunden anzubieten. Zwar gibt es traditionell für beide Zielgruppen verschiedene Varianten der Software, die sich in „Home“ auf der einen und „Pro“ sowie „Enterprise“ auf der anderen Seite aufteilen. Doch der größte Teil der Funktionen ist für alle identisch, genau wie der gesamte Betriebssystemkern. Dies gilt auch für das Sicherheitssystem von Windows 10. Ein Kernelement der Sicherheit in Windows 10 ist „Windows Hello“. Dahinter verbirgt sich nicht etwa eine ChatSoftware à la WhatsApp, sondern ein Framework zur Authentifizierung, das die Redmonder ganz unbescheiden als „revolutionär“ einstufen. Man hat im Hause Microsoft nicht weniger vor, als die Welt von Kennwörtern und ihren Nachteilen zu befreien. Auf dem lokalen Rechner setzt der Hersteller dazu auf Biometrie und meint damit auf derzeit erhältlichen Geräten vor allem Fingerabdruck-Scanner. Mit künftiger Hardware soll Windows Hello aber ausgefeiltere Methoden nutzen können, etwa eine Gesichtserkennung, die sich durch die üblichen Kniffe wie Fotos oder Masken nicht austricksen lassen soll. Die biometrischen Daten nutzt Windows dabei ausschließlich lokal, um den Anwender am Gerät zu authentifizieren. Laut Microsoft verlassen die Daten niemals das Gerät und wandern auch nicht in die Cloud. Tatsächlich legt das Betriebssystem kein Bild des Anwenders oder seines Fingerabdrucks ab, sondern errechnet daraus Charakteristika, die es verschlüsselt speichert. Microsoft selbst vergleicht dies mit einem Diagramm. Die Gesichtserkennung wird allerdings erst mit einer neuen Generation von Webcams funktionieren, die Infrarot und einige andere Spezialitäten integrieren. Damit sollen sie unabhängig von wechselnden Lichtverhältnissen arbeiten und sich nicht einfach täuschen lassen. Derzeit hat nur Intel solche Kameras angekündigt.

Alter Name, neuer Dienst Mit Windows Hello führt Microsoft einen alten Bekannten neu ein: Microsoft Passport heißt der Dienst, der basierend auf der lokalen biometrischen Anmeldung eine sichere Authentifizierung für (Web-) Applikationen umsetzen soll. Eine ähnliche Funktion gab es unter demselben Namen schon einmal – doch die war zuerst so schlecht implementiert, dass Microsoft mit neueren Fassungen den NaiX 9/2015

Sicherheit in Windows 10

Das Ende des Hacking? Nils Kaczenski Neben allem Getöse um das wiederbelebte Startmenü, die neue Sprachassistentin Cortana und Windows as a Service soll Windows 10 vor allem Firmenkunden zurückgewinnen. Dazu bringt Microsofts jüngste Betriebssystemversion besonders neue Sicherheitsfunktionen mit und verspricht „Enterprise-Grade Security“. men in „Live ID“ änderte (heute ist dies das „Microsoft-Konto“). Der neue Passport-Dienst hat mit dem früheren jedoch nur den Namen gemein. Passport soll eine einfache Zwei-Faktor-Authentifizierung für Applikationen ermöglichen, die ohne Kennwörter auskommt und stattdessen im Hintergrund mit asymmetrischen Schlüsseln arbeitet. Der erste Faktor ist dabei das Gerät selbst: Hat der Anwender sich dort mittels Windows Hello angemeldet, so gilt der Rechner als vertrauenswürdig (Abb.ˇ1). Da Hello stets an ein konkretes Gerät gebunden ist und den Anwender biometrisch identifiziert, ist der Ansatz durchaus plausibel. Der zweite Faktor ist eine „Geste“. Darunter versteht Microsoft eine Eingabe oder eine Tätigkeit des Anwenders, die nur dieser kennt. Das bislang einzige konkrete Beispiel in Microsofts spärlicher Dokumentation dazu ist kurioserweise eine PIN, was wenig überzeugend klingt. Alternativen dazu deuten die Redmonder an, benennen sie aber nicht deutlich. Hat der Anwender beide Faktoren lokal gültig erfüllt, setzt Passport die Anmeldung an die Applikation in Gang. Da diese ein Public-Key-Verfahren ist, ist bei

der Applikation (in der Regel also dem Webanbieter) kein Kennwort, sondern nur ein öffentlicher Schlüssel gespeichert. Phishing-Attacken oder Datenbank-Hacks bei Providern würden so ihren Schrecken verlieren, weil sie ins Leere liefen.

Alle an einem Strang Microsoft nimmt für sich in Anspruch, damit den Stein der Weisen gefunden zu haben und das Web endlich sicher zu machen. Dazu wäre es allerdings erforderlich, dass alle Komponenten die nötige Qualität aufweisen, was angesichts der bisherigen Qualität etwa von Fingerabdruck-Scannern zumindest skeptisch stimmt. Zudem müssten sich bedeutende Applikationsanbieter in großer Zahl dem Verfahren anschließen. Genau hieran war der Passport-Vorgänger gescheitert. Immerhin hat man sich in Redmond diesmal schon vorher an einem herstellerübergreifenden Standard orientiert (Fast ID Online, FIDO) und dies nicht erst hinterher halbherzig angehäkelt. Zwei weitere Sicherheitsfunktionen beziehen sich vor allem auf das Gerät selbst und seinen Startvorgang. Die Gerätever95


REPORT | BETRIEBSSYSTEMSICHERHEIT

Hallo Windows: Mit Biometrie will Microsoft die Nachteile von Kennwörtern überwinden. Die Funktion „Windows Hello“ schaltet dabei nur den lokalen Rechner frei und macht ihn so zu einem eigenen Authentifizierungsfaktor (Abb.ˇ1).

schlüsselung (Device Encryption) ist in unterschiedlichen Ausprägungen in allen Fassungen von Windows 10 enthalten. Sie beruht im Kern auf der Festplattenverschlüsselung BitLocker, die zuerst in Vista erschienen und bislang den FirmenVersionen vorbehalten war. Bei Privatanwendern soll das Gerät sich von selbst verschlüsseln, wenn dessen Einrichtung mit einem Microsoft-Konto erfolgt (weil der Schlüssel dann geschützt in der Cloud liegt). Firmenkunden können BitLocker flexibel verwalten und haben mehrere Optionen zum Schlüssel-Backup. Durch diverse Optimierungen soll besonders die Erstverschlüsselung viel schneller ablaufen als bisher. Schutz vor Angriffen während der kritischen Boot-Phase des Geräts bietet „Trusted Boot“, das auf der UEFI-Funktion „Secure Boot“ beruht. Hierdurch prüfen alle am Start beteiligten Komponen-

ten, ob sie integer sind, und fahren nur dann das System hoch. Künftig soll dieses Feature nicht mehr optional sein wie noch unter Windowsˇ8, sondern für das Kompatibilitätszertifikat von Windows 10 verpflichtend werden. Einige Sicherheitsfeatures richten sich nur an Firmenkunden. Größtenteils sind sie auch nur in der teuren Enterprise-Fassung von Windows 10 enthalten. Direkt am Namen erkennt man dies bei der „Enterprise Data Protection (EDP)“. Das ist Microsofts Variante der Trennung von privaten und geschäftlichen Daten, auch unter „Data Leakage Prevention“ bekannt. EDP beruht auf einem Whitelist-Verfahren, das vertrauenswürdige Applikationen benennt, mit denen ein Anwender auf geschützte Unternehmensdaten zugreifen darf. Die Applikationen selbst müssen keinen besonderen Anforderungen genügen, und es muss sich auch nicht um neue

-TRACT ⚫ In Windows 10 legt Microsoft einen Schwerpunkt auf Sicherheit und versucht damit, es für Unternehmenskunden attraktiv zu machen. ⚫ Ob die neuen Sicherheitsfeatures ihr Potenzial entfalten können, hängt im Wesentlichen von Hardwareherstellern sowie Drittanbietern von Applikationen ab. ⚫ Trotz einiger vielversprechender Ansätze schießen manche Funktionen über das Ziel hinaus und schaffen neue Unsicherheiten.

96

oder speziell angepasste Software handeln. Wichtig ist, dass sie auf der Whitelist auftaucht. Dort steht natürlich nicht einfach der Name, sondern ein Hash der Binärdatei, um Manipulationen zu verhindern. Schützenswerte Unternehmensdaten erkennt EDP auf verschiedene Art. Der einfachste Weg ist, den Speicherort zum Kriterium zu machen: Was etwa auf dem internen Dateiserver oder der SharePointSite liegt, gilt als firmenrelevant. Eine andere Möglichkeit besteht in einem direkten Tagging, das einzelne Dateien als vertraulich markiert. Auf sie darf der Anwender dann nur mit den oben genannten „Trusted Apps“ zugreifen. Der Schutz geht aber noch weiter, denn Windows hindert den Benutzer in diesem Fall auch daran, geschützte Daten (selbst einzelne Fragmente) per Zwischenablage in eine „private“ oder nicht vertrauenswürdige Applikation zu kopieren. Speichert der Anwender solche Daten an einem anderen Ort, etwa auf einem USB-Stick, so verschlüsselt Windows 10 sie, sodass man sie wiederum nur mit Trusted Apps öffnen kann. Der Ansatz ähnelt dem Container-Prinzip, das Anbieter für Mobile Device Management auf Smartphones eingeführt hatten. Microsoft betont aber, dass EDP ohne Container und lästiges Umschalten auskommt. Daher sei es sowohl einfacher zu nutzen als auch besser zu administrieren. Unternehmen benötigen oft Rechner, die nur bestimmte Aufgaben erfüllen sollen. Hier ist es meist hinderlich, dass dort ein vollständiges Windows läuft, das dem Anwender weitgehende Kontrolle über das Gerät ermöglicht. Gefragt sind eher Kiosk- oder Task-Systeme, die nichts anderes ausführen als einen definierten Satz von Applikationen.

Der Rechner als Blackbox Vergleichbar sind Szenarien, in denen Computer besonders sicherheitskritisch sind, sodass die Integrität der Applikationen Vorrang vor der Flexibilität und dem Bedienkomfort eines Allzweckbetriebssystems hat. Für diese und ähnliche Fälle bietet die Enterprise-Version von Windows 10 mit „Device Guard“ einen radikalen Ansatz. Ähnlich den „Software Restriction Policies“ und „AppLocker“ in früheren Windows-Versionen gestattet die neue Funktion nur das Ausführen von Anwendungen, die auf einer Positivliste stehen. Device Guard setzt dabei auf Softwaresignaturen, sodass die IT-Administration flexibel über den Grad der Abschirmung der Rechner bestimmen kann, iX 9/2015



REPORT | BETRIEBSSYSTEMSICHERHEIT

Sicherheitskritik an Windows 10 Mit Windows 10 behauptet Microsoft, ein neues Niveau in der IT-Sicherheit zu erreichen. Markige Worte wie „Enterprise-Grade Security“ oder „das Ende von Phishing und Passwort-Hacks“ zeugen von Selbstbewusstsein. Gleichzeitig aber wird mit der Release

WiFi Sense verbindet den Rechner nicht nur automatisch mit WLANs, die irgendein Kontakt für brauchbar hält. Man kann damit auch Zugangsdaten für beliebige WLANs an alle übermitteln (Abb.ˇ2).

indem sie gezielt mit bestimmten Zertifikaten arbeitet. Microsoft selbst wird künftig alle Applikationen, die über den Store der Redmonder verkauft werden, mit einem eigenen Zertifikat ausstatten. Auf diese Weise ist die Integrität der Binärdateien leicht zu prüfen. Dritthersteller oder Unternehmen können auch eigene Zertifikate einsetzen. Zusätzlich baut Microsoft einen Dienst auf, den Dritte nutzen können, um außerhalb des Stores Applikationen zu signieren. Je nachdem, welche Zertifikate man für Device Guard zulässt, führt Windows 10 dann nur bestimmte Software aus. Als neue Schutzebene ist Device Guard in der Lage, seine Regeln selbst dann umzusetzen und unerlaubte Software zu blockieren, wenn ein Angreifer Kontrolle über den Kernel gewonnen hat. Durch die Integration eines TPM-Chips (Trusted Platform Module) und eines Virtualisierungs-Containers unter Hyper-V lässt sich die Regel-Engine getrennt vom 98

von Windows 10 heftige Kritik an der Sicherheit anderer Systemkomponenten laut. Rege Diskussionen gibt es etwa um „WiFi Sense“ (zu Deutsch: „WLAN-Optimierung“), mit dem ein Anwender, der sich mit einem WLAN verbindet, dessen Zugangsdaten an all seine Kontakte weitergibt. Diese können das WLAN-Kennwort zwar nicht einsehen, aber Windows kann sie automatisch mit dem Netz verbinden, wenn sie in Reichweite sind. Das wirft nicht nur Fragen nach Privatsphäre auf (welcher meiner Kontakte war schon mal hier?). Auch die Sicherheit ist betroffen, denn ein WLAN-Betreiber kann so nicht mehr kontrollieren, wer sich mit seinem Netz verbindet. Anders herum ist es kaum feststellbar, ob das WLAN, auf das Windows automatisch zugreift, überhaupt sicher ist. Zu allem Überfluss lässt sich diese Funktion nur manuell abschalten, aber (zumindest derzeit) nicht zentral per Policy. Ein anderer Kritikpunkt ist die Telemetriefunktion „Asimov“, die Microsoft in den PreviewFassungen von Windows 10 aktiviert hatte. Vereinfacht gesagt ist dies eine Art universeller Keylogger, der jede Aktivität des Anwenders aufzeichnen kann, um sie zur Analyse an Microsoft zu senden. Zwar gab Microsoft an, dies nur für die Preview-Phase zu benötigen, doch hat der Hersteller Zweifel, ob er die Funktion aus der Release-Version entfernt hat, bislang nicht überzeugend zerstreut. Und schließlich lässt der Umgang des neuen Betriebssystems mit Zertifikaten bei der verschlüsselten Übertragung von Daten an Microsoft stark zu wünschen übrig. Details dazu siehe Artikel „Nicht wählerisch“ auf Seite 92.

eigentlichen Kernel ausführen, sodass sie sich auf diesem Weg nicht aushebeln lässt.

Ein MDM für alle Geräte Bereits in Windows 8.1 hatte Microsoft einen standardkonformen Agenten für Mobile Device Management (MDM) integriert, der vor allem Tablets der mobilen Administration zugänglich machen sollte. Mit Windows 10 bauen die Redmonder diese Technik aus. Da das Betriebssystem auf „allen Geräteplattformen“ zu Hause sein soll, also vom Embedded Device über Smartphones und Tablets bis zum PC, sind künftig alle Windows-10-Geräte per MDM einheitlich zu verwalten. Das gilt ebenso für die Home-Variante. Besonders für Unternehmen bietet dies eine zusätzliche Möglichkeit, die Sicherheitskonfiguration zu steuern. Parallel sind dort die herkömmlichen Methoden wie Gruppenrichtlinien oder traditionelle

Client-Management-Systeme einsetzbar. Je nach Anwendertyp erreichen die Administratoren so prinzipiell alle verwalteten Endgeräte, auch wenn diese nie Kontakt zur Active-Directory-Umgebung des Unternehmens haben. Unklar ist bislang allerdings, wie die verschiedenen Verwaltungsmechanismen zusammenwirken. Um wirklich den gewünschten Zustand zu erreichen, kann so erheblicher Abstimmungsaufwand für die einzelnen Techniken entstehen. Die MDM-Implementierung lässt es zu, bei einem Verlust des Geräts oder beim Ausscheiden eines Mitarbeiters gezielt nur die Unternehmensdaten aus der Ferne zu löschen. Das kommt BYODModellen (Bring your own Device) zugute, bei denen das Unternehmen keine Hoheit über das Endgerät hat, weil es Privateigentum des Anwenders ist. In Deutschland sind solche Konstrukte eher selten, in anderen Ländern aber sind sie weit verbreitet.

Fazit Auch mit der neuen Windows-Version bietet Microsoft für Firmen einige fortgeschrittene Sicherheitstechniken an, die sich an aktuellen Bedrohungslagen orientieren. Stärker als beim direkten Vorgänger stellt der Software-Riese diese Funktionen in den Vordergrund. Das ist auch nötig, denn der Schaden durch den gefloppten Vorgänger Windowsˇ8 hat dem Unternehmen zugesetzt. Noch einmal kann Microsoft also nicht den Fehler machen, das Marketing seines Betriebssystems an seinem größten Kundenstamm vorbei laufen zu lassen. Einige der neuen Sicherheitsfunktionen müssen sich allerdings erst beweisen: Ob Biometrie wirklich in großem Stil für Unternehmensanwendungen geeignet ist, liegt in der Hand der Hardwarehersteller, die bisher nur selten die nötige Qualität geliefert haben. Ähnlich hängt der Nutzen eines zertifikatsbasierten Malware- und Hacking-Schutzes von der Akzeptanz durch Software-Drittanbieter und nicht zuletzt durch die Anwenderunternehmen ab. (ur)

Nils Kaczenski leitet das Microsoft-Consulting bei der michael wessel Informationstechnologie in Hannover. Seine Rolle in der IT-Community hat ihm den Titel „Microsoft MVP“ eingebracht. Alle Links: www.ix.de/ix1509095

iX 9/2015



REPORT | INTERNET

Erste RFCs zu IPv6 erschienen vor 20 Jahren

rekturen mit und wurde vor allem mit den RFCs 2461 [f] und 2462 [g] um die Neighbor Discovery samt Stateless Address Autoconfiguration zu einem implementierbaren Protokoll vervollständigt. Im selben Jahr begann das KAME-Projekt [h] auch prompt mit der Arbeit an einer Implementierung. Schließlich folgte 2012 mit RFC 6540 [i] die unmissverständliche Vorgabe, dass IPv6-Fähigkeit im Internet nicht länger optional ist. Aus Sicht der IETF hat die Geburt von IPv6 also von 1990 bis 2012 gedauert.

Lieber IPv6 als Schwarzmarktpreise

Schwere Geburt Benedikt Stockebrand Ein neues Netzwerkprotokoll in die Welt des Internets zu setzen, hat sich um ein Vielfaches langwieriger und schmerzhafter erwiesen, als es zunächst den Anschein hatte.

L

aut Hegel ist das Einzige, was die Menschheit aus der Geschichte lernt, dass sie nichts aus der Geschichte lernt. Das ARPAnet mit seinen sechs Bit großen Adressen stand anfangs genauso als akademischer Größenwahn in der Kritik wie IPv4 und heute zum Teil immer noch IPv6. Und jedes Mal werden die Adressen wieder knapp: Beim ARPAnet dauerte es wenige Jahre, IPv4 reichte immerhin für zwei Jahrzehnte, und auch bei IPv6 gibt es heute schon Provider, die entgegen RFC 6177 (BCP 157, siehe „Onlinequellen“, [a]) ihren Privatkunden – diesmal allerdings ohne zwingenden Grund – nur ein /62-Präfix zugestehen. So begann die Geburt von IPv6 etwa 1990, als sich abzeichnete, dass IPv4 auf die Dauer zu kurze Adressen hatte. Parallel zur Entstehung provisorischer, doch

100

erfolgreicher Workarounds – Subnetze, Variable Length Subnet Masks (VLSM), dynamische Adresszuweisung per PPP und DHCP sowie schließlich NAT – begannen mehrere Gruppen im Umfeld der Internet Engineering Task Force (IETF), Kandidaten für die Nachfolge von IPv4 zu entwickeln. Bis 1995 folgten unter anderem im Umfeld von RFC 1719 [b] und RFC 1752 [c] Diskussionen um den am besten geeigneten potenziellen Nachfolger und letztlich die Entscheidung für das „Internet Protocol Next Generation“ oder IPng, das seitdem die Protokollnummerˇ6 trägt und heute IPv6 heißt. Mit RFC 1883 [d] stand dann – auch noch im Jahr 1995 – IPv6 in seinen Grundzügen fest. Dessen Nachfolger RFC 2460 [e] brachte 1998 noch einige Kor-

Aber die IETF ist nicht das Internet, und normale Internetnutzer müssen sich nach dem richten, was ihnen die Internet-Serviceprovider (ISP) an Funktionen liefern. Die wiederum haben sich lange Zeit schwergetan, IPv6 ernst zu nehmen. Erst als sie von den Regional IP Registries (RIRs) keine IPv4-Adressen mehr bekommen konnten und sich ein rasant wachsender Schwarzmarkt für IPv4-Adressen entwickelte, wurde IPv6 für sie zum kleinstmöglichen Übel. Gerade für die Fernsehkabel-Provider, die im Festnetzgeschäft um rund 20ˇ% pro Jahr wachsen [j] und denen aus historischen Gründen zu wenig IPv4-Adressen zur Verfügung stehen, ist aber damit IPv6 unvermeidbar: Still und ohne großes Aufheben begannen sie 2012 damit, im Privatkundengeschäft den Kunden IPv6 und darüber per Dual-Stack Lite (DSLite) nur noch ein sehr eingeschränktes IPv4 bereitzustellen. Aber IPv4 über DSLite ist teuer, fehlerträchtig und bringt für die Kunden unangenehme Einschränkungen mit sich. Jedes Paket, das direkt per IPv6 transportiert wird, erspart ihnen also einiges an Frustration. Und die Provider sparen Geld für die teure DS-Lite-Technik, den unvermeidlichen Support-Mehraufwand und letztlich auch für Marketing-Ausgaben.

Nachholbedarf bei Geschäftskunden Im Geschäftskundensegment verläuft der Fortschritt zum Teil noch langsamer: Eine Reihe von ISPs, die ihren Privatkunden selbstverständlich IPv6 geben, binden Geschäftskunden immer noch nur per IPv4 an. Die Erklärungen dafür klingen oft mehr oder weniger fadenscheinig, sodass sich der Verdacht aufdrängt, dass iX 9/2015


Onlinequellen [a] RFC 6177 (BCP 157): „IPv6 Address Assignment to End Sites“ www.rfc-editor.org/rfc/rfc6177.txt

[f] RFC 2461: „Neighbor Discovery for IP Version 6 (IPv6)“ www.rfc-editor.org/rfc/rfc2461.txt

[b] RFC 1719: „A Direction for IPng“ www.rfc-editor.org/rfc/rfc1719.txt

[g] RFC 2462: „IPv6 Stateless Address Autoconfiguration“ www.rfc-editor.org/rfc/rfc2462.txt

[c] RFC 1752: „The Recommendation for the IP Next Generation Protocol“ www.rfc-editor.org/rfc/rfc1752.txt

[h] The KAME project www.kame.net/

[d] RFC 1883: „Internet Protocol, Version 6 (IPv6) Specification“ www.rfc-editor.org/rfc/rfc1883.txt

[i] RFC 6540: „IPv6 Support Required for All IP-Capable Nodes“ www.rfc-editor.org/rfc/rfc6540.txt

[e] RFC 2460: „Internet Protocol, Version 6 (IPv6) Specification“ www.rfc-editor.org/rfc/rfc2460.txt

[j] DSLWEB Breitband Report Deutschland Q1 2015 https://www.dslweb.de/breitband-reportdeutschland-q1-2015.php

geringen Margen im Privatkundengeschäft dürfte es nicht mehr lange dauern, bis der erste Provider die betriebswirtschaftliche Konsequenz zieht und IPv4 als Extra berechnet.

Fazit Mit genug Starrsinn kann man auch heute noch argumentieren, dass IPv6 es immer noch nicht flächendeckend zur Anwendungsreife gebracht hat. Aber egal, woran man die „Geburt“ von IPv6 festmacht: Es ist höchste Zeit, den Sekt kalt zu stellen. (un)

Benedikt Stockebrand man sich selbst nicht zutraut, IPv6 mit einer Zuverlässigkeit zu betreiben, die Geschäftskunden erwarten und vertraglich zugesichert bekommen. Zumindest was Deutschland betrifft, steht also selbst heute noch nicht fest, ob wenigstens 2015 als Geburtsjahr des real existierenden IPv6-fähigen Internets gelten kann. Die endgültige Ablösung von IPv4 durch IPv6 wird wohl erst dann

iX 9/2015

feststehen, wenn die Provider anfangen, IPv4 als kostenpflichtige Zusatzleistung abzurechnen. So abwegig sich das zurzeit noch anhört: Die Kosten für IPv4 steigen für die Provider, egal ob sie IPv4-Adressen zunehmend teuer auf dem Transfermarkt einkaufen oder in – alles andere als billige – DS-Lite-Infrastruktur und den dazugehörigen zusätzlichen Support-Aufwand investieren. Bei den

ist international tätiger Berater und Trainer der Stepladder IT Training+Consulting GmbH. Seit 2003 liegt sein Arbeitsschwerpunkt auf dem produktiven Einsatz von IPv6. Er ist Autor des Buchs „IPv6 in Practice“ (Springer 2006) und vieler Fachartikel zum Thema. Alle Links: www.ix.de/ix1509100

101


REPORT | BETRIEBSSYSTEME

Ende des Supports für Windows Server 2003

Ausgespielt Nils Kaczenski

Seit dem 15. Juli 2015 gewährt Microsoft keinen Support mehr für Windows Server 2003 – keine Aktualisierungen, keine Fixes und keine Security-Updates. In vielen Unternehmen läuft das Alt-Betriebssystem aber immer noch.

A

ls am 8. April 2014 nach fast dreizehn Jahren der Support für Windows XP endgültig auslief, war dies wochenlang Thema in allen Medien bis hin zur Tagesschau. Vor wenigen Wochen, am 15. Juli, hat sich diese Geschichte für den „großen Bruder“ namens Windows Server 2003 wiederholt, diesmal ist es jedoch erstaunlich ruhig geblieben. Das liegt zum einen daran, dass Privatanwender selten mit Servern zu tun haben und sich das Thema so nicht für eine zweite Runde Aufregung eignete. Zum andern scheinen viele Unternehmen die Bedeutung der Sache aber auch zu unterschätzen, denn immer noch verrichtet das System in zahlreichen Netzwerken seinen Dienst. Wer einwendet, ein Server sei weit weniger Angriffen ausgesetzt als ein PrivatPC, liegt aber nicht unbedingt richtig. Zwar sind es vorwiegend interne Anwendungen, die in den Firmen noch darauf laufen, Exploits für ungepatchte Sicherheitslücken scheitern hingegen nur noch selten an der Firewall. Zudem ist der 2003-Kernel weitgehend identisch mit

102

dem von XP, wodurch beide ein lohnendes Ziel darstellen. Hinzu kommt, dass gerade die „Langläufer“ unter den Servern oft schlecht konfiguriert sind, schon weil die Administratoren, die sie eingerichtet haben, nicht mehr im Unternehmen sind.

Beliebtes Windows für Server Als das System im April 2003 erschien, platzierte Microsoft es als ausgereiften Nachfolger von Windows 2000. Letzteres hatte viele Administratoren mit seinen technischen Neuerungen überfordert, die vom Verzeichnisdienst Active Directory über IPsec bis zu WMI eine erheblich höhere Komplexität erzeugten als der Urahn NT. Vieles davon hatten die Redmonder in Server 2003 zugänglicher und besser integriert, wodurch diese Version hohe Akzeptanz und Verbreitung fand. Die verschlungenen Wege der Produktentwicklung trugen das Ihre dazu bei.

Schon der Server 2003 erblickte ein Jahr später als geplant das Licht der Welt, weil Bill Gates’ Konzept „Trustworthy Computing“ die Entwickler zu umfangreichen Code-Reviews gezwungen hatte. Das setzte sich bei der Nachfolgeversion fort, die erst satte fünf Jahre später erschien. Zwischendurch hatte Microsoft aus Verlegenheit ein Pseudo-Update namens R2 auf den Markt geworfen, das aber kaum mehr als ein Service Pack darstellte und am Kern praktisch nichts änderte. In der Wahrnehmung vieler Administratoren war 2003 letztendlich „der“ Windows Server, auch noch lange nach dem Erscheinen der Ausgabe 2008, der zudem der ungeliebte Vista-Stallgeruch anhaftete. Der Nimbus des „gelungenen zweiten Wurfs“ umgab ebenfalls einige ServerApplikationen derselben Generation, allen voran Exchange Server 2003. Auch hier hatte es mit dem Vorgänger einen Technologiewechsel gegeben, dessen Kinderkrankheiten erst der Nachfolger linderte. So gedieh die Kombination von Server 2003 und Exchange 2003 als bevorzugte Umgebung in Unternehmen.

Nach Jahren Grenzen erreicht Die Grenzen der 2003-Architektur traten nach einigen Jahren zutage, als sie sich den wachsenden Anforderungen nicht mehr gewappnet zeigte. Das System lief praktisch nur als 32-Bit-Version, die x64Variante von Mitte 2005 fand kaum Verbreitung. Das limitierte die Umgebungen auf maximal 4ˇGByte Arbeitsspeicher. Das Rollenkonzept für die Serverfunktionen steckte noch in den Anfängen; wer ein dediziertes System für bestimmte Aufgaben einrichten wollte, musste weiterhin viel Arbeit investieren. Auch der „sichere Entwicklungsprozess“ war beim Erscheinen des Systems noch nicht sonderlich ausgereift, wodurch das grundlegende Niveau des Schutzes bald nicht mehr der Bedrohungslage entsprach. Ähnliches galt für das .NETFramework, das zwischenzeitlich sogar im Produktnamen „Windows .NET Server 2003“ auftauchen sollte. Dessen frühe Versionen galten als schwerfällig und aufwendig in der Wartung, sie hatten unter Admins zunächst ein ähnlich schlechtes Image wie Java-Runtimes. Kurz vorm Marktstart des Server 2003 hatte Microsoft Ende 2002 seine SupportPolicy definiert, die im Grundsatz noch heute gilt (siehe „Alle Links“). Laut ihr gewährt der Hersteller für seine professionellen Produkte „mindestens“ zehn iX 9/2015


Jahre Unterstützung, die sich in zwei Phasen aufteilt. In den ersten fünf Jahren gilt der „Mainstream Support“, in dem alle Kunden technische Hilfe erhalten können, die bei Bedarf Codeänderungen in Form von Hotfixes umfasst. In der zweiten Phase, dem „Extended Support“, können Kunden weiterhin direkte Unterstützung aus Redmond bekommen, doch Funktionen oder Codefehler korrigiert Microsoft in der Regel nicht mehr. Nur Security-Updates stopfen diesbezügliche Lücken. Nach Ablauf des „Extended Support“ gibt es keinerlei Patches und technischen Beistand mehr beim Betrieb der Produkte. Im Wesentlichen hat sich an dieser Richtlinie nichts geändert. Wer für längere Zeit Support oder sogar Hotfixes erhalten möchte, muss rechtzeitig einen kostspieligen Individualvertrag abschließen. Für alle relevanten Produkte hat Microsoft die genauen Enddaten für die Support-Phasen auf seiner Webseite dokumentiert; einen Überblick über verbreitete Produkte gibt die Tabelle „Ende des Supports“.

Aktuelle WindowsUmgebungen Wer heute noch einen Server 2003 einsetzt, sollte zügig dessen Ablösung angehen. Bei der Frage nach dem Zielsystem kommt die Support-Policy ins Spiel: Demnach stellen Server 2008 und 2008 R2 kaum eine sinnvolle Alternative dar, denn deren Mainstream Support ist im Januar 2015 abgelaufen, das nächste ZwangsUpdate stünde so schon fast vor der Tür. Technisch könnte allenfalls die 32-BitVersion interessant sein, denn sie erlaubt als einzige ein In-Place-Upgrade von einem 32-bittigen Windows 2003. Die größte kaufmännische Hürde beim Umstieg stellen meist die Client-Lizenzen dar (Client Access License, CAL). Davon benötigt man pro Nutzer oder Endgerät eine, und zwar immer für das aktuellste

Nostalgie-Windows: Viele Funktionen in Server 2003 waren noch wenig ausgereift. Besonders Updates und die Server-Härtung entsprechen nicht mehr heutigen Anforderungen (Abb.ˇ1).

Ende des Supports Produkt Windows Server 2003 Windows Server 2008/R2 Windows Server 2012/R2 Small Business Server 2008 Small Business Server 2011 SQL Server 2008/R2 SQL Server 2012/R2 SQL Server 2014 Exchange Server 2007 Exchange Server 2010 Exchange Server 2013 Windows 7 Windows 8.1

Ende Mainstream Support – 13.01.2015 09.01.2018 10.04.2012 13.01.2015 08.07.2014 11.07.2017 09.07.2019 10.04.2012 13.01.2015 10.04.2018 13.01.2015 09.01.2018

Serversystem, das bereitsteht. Wer Server 2012 oder R2 einsetzen will, benötigt in der Regel flächendeckend die 2012CALs, die gleichzeitig zum Zugriff auf alle älteren Windows Server berechtigen. Einige Kunden setzen schon neuere Server ein, sodass sie prinzipiell schon jetzt alle aktuellen CALs vorhalten müssen. Das gilt sinngemäß genauso für Applikationen wie Exchange oder SQL Server.

-TRACT ⚫ Für Windows Server 2003 gibt es seit dem 15. Juli 2015 keine Updates und keinen Support mehr. Wer das System noch einsetzt, geht hohe Sicherheits- und Betriebsrisiken ein. ⚫ Als Ablösung kommen neue Windows-Versionen in Betracht, doch auch für Server 2008 steht das Support-Ende schon bevor. ⚫ Migrationsverfahren richten sich nach den Server-Applikationen, für die häufig auch ein Versionswechsel ansteht. AD-Domänencontroller sind meist leicht zu ersetzen, großen Aufwand erzeugen vor allem Dateiserver.

iX 9/2015

Ende Extended Support 14.07.2015 14.01.2020 10.01.2023 11.04.2017 14.01.2020 09.07.2019 12.07.2022 09.07.2024 11.04.2017 14.01.2020 11.04.2023 14.01.2020 10.01.2023

Microsoft preist fortwährend seine Cloud-Dienste als Migrationsalternative an. Während sie kaufmännisch durchaus lohnend sein können, müssen Verantwortliche neben juristischen Fragen technische Aspekte klären, denn der Wechsel von einer lokalen Applikation zu einer Cloud-Anwendung ist selten wirklich einfach. Gerade bei Diensten, die noch unter Windows 2003 laufen, wandelt sich der Umstieg schnell zu einem veritablen Migrationsprojekt.

Aus Alt mach Neu Insgesamt kommen für das Upgrade von Server 2003 auf eine neuere Version ausschließlich Applikationsmigrationen infrage, also das Installieren eines neuen Betriebssystems mit einer aktuellen Fassung der Anwendung, gefolgt vom Übertragen der Datenbestände. In-Place-Upgrades (Aktualisieren des OS direkt auf der bestehenden Maschine) übersteht kaum eine 103


REPORT | BETRIEBSSYSTEME

Anwendung. Ohnehin zeigt sich in der Praxis, dass die Programme auf den Veteranen-Servern meist noch stärker veraltet sind, denn kaum ein Hersteller bietet so lange Support wie Microsoft. Einige Kunden peilen eine Physical-toVirtual-Konvertierung (P2V) ihrer 2003Server an, um sie künftig unverändert als virtuelle Maschine (VM) zu betreiben. Das löst allerdings bloß die Hardwarefrage, indem man die konvertierte VM vom physischen System trennt. Den zugrunde liegenden wichtigen Aspekt des veralteten Windows verändert man dadurch nicht. Einige Serverfunktionen verdienen eine genauere Betrachtung beim Planen der Migration. Die Domänencontroller (DC) für Active Directory stellen dabei, anders als viele Admins erwarten, meist ein geringes Hindernis dar. In vielen Umgebungen reicht es aus, einen neuen DC mit dem aktuellen Server-Windows als Teil der bestehenden Domäne zu installieren und nach der Replikation den Alt-DC zu deinstallieren. Aufmerksamkeit erfordern DNS- und IP-Adressen, doch das ist in

der Regel schnell geplant. Heikel ist es hingegen, wenn die vorhandenen DCs noch weitere Applikationen ausführen – sie sollte man vorab getrennt migrieren und hinterher auf eigenen Servern einsetzen, nicht mehr auf dem DC. Ein Exchange Server ist beim Migrieren weniger trivial, aber mit etwas Planung gut zu übertragen. Der Königsweg besteht darin, eine neue Version des Systems in der bestehenden Umgebung zu installieren und anschließend die Mailboxen zu verschieben. Dieser Vorgang lässt sich automatisieren, um etwa über Nacht ganze Gruppen oder Abteilungen zu versorgen. Der gesamte Vorgang darf sich so über einige Wochen hinziehen, ohne dass es zu Schwierigkeiten kommt. Die Anwender sollten allerdings beim Verschieben nicht auf ihre Mailbox zugreifen, wenn diese auf einem Server mit Exchange 2003 oder 2007 liegt. Als Ziel für die Migration eignet sich die 2007- oder besser die 2010Variante. Wer von Ausgabe 2003 zu 2013 wechseln möchte, muss einen „Zwischenstopp“ mit Exchange 2010 einlegen.

SQL Server sind grundsätzlich ebenfalls leicht zu migrieren. Zur Auswahl stehen Backup-Restore-Verfahren oder ein Assistent. In der Praxis sind hier oft die vielen verschiedenen Versionen eine Hürde, die in Firmen parallel laufen. Da die Umgebung zudem nur das Backend für die Applikationen darstellt, führt an ausgiebigen Tests vielfach kein Weg vorbei. Ein häufig unerwartet großer Brocken für eine Upgrade-Migration sind immer wieder Dateiserver. Das liegt nicht etwa daran, dass sich an der Dateiserver-Funktion in Windows viel geändert hätte. Tatsächlich sind es die „gewachsenen“ Strukturen mit unübersichtlichen Ordnerhierarchien und komplexen Berechtigungen, die eine solche Umstellung in ein aufwendiges Wagnis verwandeln. Da Windows kein Werkzeug zur Übersicht oder Analyse der Berechtigungen mitbringt, können große Unternehmen spezialisierte Tools erfordern. Tückisch sind hier ebenfalls Serverpfade, die sich in Skripten oder Dokumenten und Vorlagen verbergen und nach der Umstellung dafür sorgen, dass Anwender die Daten nicht ohne Weiteres öffnen können.

Fazit

AD-Replikation

DC 2003

DC 2012 R2 domain.tld

Upgrade: Um Domänencontroller unter Server 2003 abzulösen, richtet man einen Server mit aktuellem Windows ein, wartet die Replikation ab und nimmt den alten Server anschließend außer Betrieb (Abb.ˇ2).

Mailbox verschieben

Noch mehr als beim Ende von Windows XP zeigen die Schmerzen beim Ablösen von Server 2003, dass viele IT-Abteilungen ihre Hausaufgaben künftig besser erledigen müssen. Immer noch sind Tausende der Systeme im Einsatz, weil sich die Administratoren nicht an das Umsteigen herantrauen. Gerade in der Mainstream-IT ist es gefährlich, sich allzu lang auf dem Vorhandenen auszuruhen. Ein Versionswechsel unter Zwang resultiert immer wieder in wesentlich höheren Kosten als eine laufend aktualisierte Umgebung. Dabei ist der nächste große Umbruch schon in greifbarer Nähe – sowohl das beliebte Windowsˇ7 als auch die Server 2008 und 2008 R2 haben die Mainstream-Support-Phase verlassen. In viereinhalb Jahren heißt es genauso für sie: kein Support und keine Updates mehr. (fo)

Nils Kaczenski Exchange 2003

Exchange 2010

Exchange-Organisation

Migration: Ein alter Exchange 2003 und ein neuer Exchange 2010 kennen einander. Mailboxen lassen sich so einfach verschieben, der Mailfluss funktioniert weiterhin (Abb.ˇ3). 104

leitet das Microsoft-Consulting bei der michael wessel Informationstechnologie in Hannover. Seine Rolle in der IT-Community hat ihm den Titel „Microsoft MVP“ eingebracht. Alle Links: www.ix.de/ix1509102

iX 9/2015


Webhosting

extra

September

2015

Eine Sonderverรถffentlichung der Heise Medien GmbH & Co. KG

Webhosting Managed Applications Hรถhere Ebene

Anwendungen als Mieter nutzen Seite II

Vorschau: Security

Trends & News 2015 Seite XII

iX extra zum Nachschlagen: www.ix.de/extra

I


Webhosting

Höhere Ebene Anwendungen als Mieter nutzen Für Hosting-Provider ist das Vermieten dedizierter und virtueller Server immer noch das Brot-und-Butter-Geschäft – für viele Kunden aber nur Mittel zum Zweck, nämlich die Grundlage zum Betreiben von Applikationen. Da liegt es nahe, statt eines Servers einfach nur die Anwendung zu mieten.

S

eit Virtualisierung die Software praktisch vollständig von den Hardwareanforderungen entkoppelt, können sich die Kunden stärker auf ihr Kerngeschäft konzentrieren – und für die Hoster winkt eine höhere Gewinnspanne. Gegenüber dem Betrieb im eigenen Datacenter spart ein Kunde die Anfangsinvestitionen in Hardware und Rechenzentrumstechnik. Application Hosting umfasst nämlich das Bereitstellen nicht nur der Anwendung, sondern auch der gesamten darunterliegenden Infrastruktur sowie deren Betrieb und Wartung. Das entlastet die firmeneigene IT-Abteilung von Administrationsaufgaben. Der Nutzer erhält eine flexible und skalierbare Lösung, ohne selbst Ressourcen vorhalten zu müssen. Wachsen die Nutzerzahlen beim Kunden, lassen sich weitere Accounts hinzubuchen – Gleiches gilt für neue Funktionen. Deshalb sind die Softwarepakete der Hoster nach Nutzerzahlen und Funktionsumfang abgestuft. Neben dem Betreiben der Software obliegen dem Hoster Aufgaben wie Backup und das Einhalten gesetzlicher Bestimmungen, etwa bei der Archivierung. Ein weiterer Vorteil besteht in der plattformunabhängigen Nutzung, da ein Browser statt einer ClientSoftware zum Einsatz kommt. Ob Desktop oder Mobilgerät, Windows, Mac OS oder Linux – der Zugriff erfolgt stets auf die gleiche Weise und ohne Anpassungen auf dem Client.

II

Die Idee der Software vom Hoster ist nicht neu: In der Vergangenheit standen dafür Begriffe wie Application Service Provider (ASP) oder Software as a Service (SaaS). Letzteres wird inzwischen aber stärker mit dem Begriff Cloud assoziiert als mit klassischen Hostern. Auch wenn das Grundprinzip stets dasselbe ist, unterscheiden sich Hosting-Pakete für Software je nach Anwendung, Zielgruppe und Kundengröße voneinander.

Gleiche Idee, verschiedene Begriffe Im einfachsten Fall werben Provider bereits mit Application Hosting, wenn sie Anwendungen als Bestandteil von Webhosting-Paketen vorinstallieren oder Kunden sie als „Ein-KlickAnwendung“ aktivieren. In der Regel handelt es sich um OpenSource-Software, und die Anwendungsgebiete sind vor allem E-Mail und Collaboration, CMS sowie Webshops. Kunden erhalten zwar kostengünstig Software auf ihrem Webserver, sind aber bereits bei der Auswahl gefordert, da es in der Regel mehrere Softwarepakete für denselben Anwendungszweck gibt. Nach dem Installieren sind Konfigurationsarbeiten zu erledigen, die ebenfalls dem Kunden obliegen: Anlegen von Nutzern, Zugriffsrechten, Workflows et cetera. Somit eignen sich diese Angebote vor allem für kostenbewusste Kunden mit SoftwareKnow-how. Außerdem sind

die Anwendungen stets an ein Basispaket für Webhosting oder virtuelle respektive dedizierte Server gekoppelt und damit kein Application Hosting im eigentlichen Sinne, sondern nur Zusatzfunktionen eines WebhostingPakets. Um Kunden anzusprechen, die sich mit Hardware, Betriebssystem und Datenbank nicht befassen, sondern einfach nur eine Software nutzen wollen, bieten Hoster immer häufiger reine Softwareservices unabhängig von Web- oder Serverpaketen an. Der Vorteil eines echten Application Hosting besteht gerade darin, dass der Kunde nicht Speicherplatz und Rechenkapazität bucht, sondern nur Software-Features. Wie reines Application Hosting aussieht, zeigt SaaS Web, indem es gar keine Web- und Serverpakete anbietet. Stattdessen stehen 50 Anwendungen für Websites und Blogs, Portale und Communitys, E-Business, Office und Softwareentwicklung zur Auswahl. Je nach Leistungsanforderungen laufen sie – wie bei anderen Hostern – per Shared Webhosting oder in einer eigenen virtuellen Maschine. Der Kunde wählt nur die Software und die Nutzerzahl, und darauf basiert die Abrechnung. Mit ihren niedrigen Bereitstellungskosten und -zeiten ähneln die Verträge oft denen von Cloud-Diensten. Während Webhosting-Pakete und Server in der Regel ein Jahr Mindestlaufzeit voraussetzen, sind für Hosted Applications kürzere Laufzeiten bis hinunter zu einem Monat üblich. Bereitstellungsgebühren fallen nur an, wenn die Software dediziert für einen Kunden läuft. Cloud-Services entwickeln sich noch mehr zu einer Abrechnung nach wirklichem Verbrauch (Pay per Use). Was für Infrastructure as a Service (IaaS) bereits funktioniert, steckt bei Software noch in den Kinderschuhen, weshalb auch Cloud-Services meist mit einem Festpreis pro User und Monat auf der Rechnung erscheinen. Betreibt ein Hoster die Anwendungssoftware, kann er die Daten mehrerer Kunden auf ver-

schiedene Weise voneinander abgrenzen. Am aufwendigsten ist der Betrieb eines eigenen physischen oder virtuellen Servers und einer separaten Lizenz der Software. So lassen sich Kundenwünsche und Datensicherheit am einfachsten realisieren. Allerdings verursacht dedizierte Hard- und Software die höchsten Kosten. Für einen effizienteren Einsatz gehosteter Software bieten die meisten Hersteller ihre Produkte mandantenfähig an (auch multitenant genannt). Eine Softwareinstanz kann dann auf die voneinander abgeschirmten Daten mehrerer Kunden zugreifen. Dies gilt inzwischen als genauso sicher wie ein eigner virtueller Server.

Mittelstand als neue Kundenbasis Hier liegt auch die Zukunft von Unternehmenssoftware für den Mittelstand. Über viele Jahre haben SAP und Oracle versucht, ihre Kundenbasis nach unten zu erweitern, aber der Aufwand für Hardware, Lizenzen, Einrichtung und Betrieb überforderte viele. Erst mit der Einführung mandantenfähiger Softwareversionen, die ein Hosting erlauben, verbreiten sich große ERP-Pakete (Enterprise Resource Planning) auch in mittelständischen Unternehmen. Für einfache Dienste wie E-Mail- oder Groupware-Konten sind nicht notwendigerweise mandantenfähige Systeme nötig, was eine günstigere Produktion ermöglicht. Insbesondere Selbstständige, Handwerker oder kleine Firmen können den vollen Funktionsumfang einer Groupware wie Microsofts Exchange oder Open Exchange für wenige Euro im Monat beziehen, weil sie auf SharedPlattformen laufen. Den Komfort einer eigenen Domain und firmenspezifischer E-Mail-Adressen schränkt das nicht ein. Viele Anbieter von Hosted Applications sind Universalhoster, die ihre Produktpalette erweitern. Sie sind darauf gut vorbereitet, da sie neben Hardware-, Software- und VirtualiiX extra 9/2015



Quelle: Busymouse

Webhosting

Es muss nicht immer Exchange sein: SOGo bietet Groupware-Funktionen als Open Source (Abb. 1).

sierungskompetenz über Erfahrungen für den effizienten Betrieb und flexible Abrechnungsmodelle verfügen. Das einfachste Beispiel hierfür ist ein E-Mail-Dienst, der anders als Freemailer wie Web.de oder GMX einen eigenen Domainnamen bietet und nicht Einzel-, sondern Firmen-Accounts für mehrere Mitarbeiter. Daneben existieren spezialisierte Provider, die ausschließlich eine oder mehrere Applikationen als Dienst anbieten. Sie kommen entweder aus der Softwareentwicklung – vermarkten also ihre eigene Software – oder von der Fachseite. Beispiele hierfür sind Web- und Werbeagenturen, die ihr Wissen rund um Content-Management vermarkten. Ebenso bieten E-Com-

Serviceprovider mit Hosted Applications Hoster 1&1 1blu Alfahosting B2B Hosting BCC Billomat BITE Bridge Betriebsdaten Busymouse centron Cojama Comarch CentralStationCRM CosmoShop Cubos cyberwebhosting Databay DM Solutions Dogado domainfactory dsb cloud services ebiz-consult ECS-Webhosting ESTUGO.net e-vendo Exabyters Glowfish Greatnet Host Europe Hostserver

Website hosting.1und1.de www.1blu.de www.alfahosting.de www.b2b-hosting.de www.icyteas.de www.billomat.com www.b-ite.de www.bridge-bde.com www.busymouse.de www.centron.de www.cojama-hosting.com www.comarch-cloud.de centralstationcrm.de www.mietshop.de www.cubos-internet.de wordpresshosting.cyberwebhosting.de www.databay.de www.dmsolutions.de www.dogado.de www.df.eu www.dsb-cs.net www.ebiz-webhosting.de www.ecs-webhosting.de www.estugo.de www.e-vendo.de www.exabyters.de www.glowfish.de www.greatnet.de www.hosteurope.de www.hostserver.de

HostTheNet I&K SOFTWARE Inter.net Interoute Joomla100 jweiland.net KAMP Kontent Loomes

www.hostthenet.de www.iuk-software.com www.de.inter.net www.interoute.de www.joomla100.com jweiland.net www.kamp.de www.kontent.com www.loomes.de

IV

Software/Produkt MailXchange, Exchange, SharePoint Blog, CMS (Joomla), Onlineshop (OXID, modified) E-Shops (Magento) Hosted Exchange Groupware, Voice, WebEx, Telepresence Billomat (Rechnungserstellung, CRM) Bewerber- und Personalmanagement Zeiterfassung für Personal und Projekte Hosted Exchange, SharePoint, Lync, Dynamics CRM AirMail Classic, ExchangeMail Hosted Exchange, SharePoint, Terminalserver Geschäftsanwendungen (ERP, Rechnungswesen, Webshop) Customer Relationship Management Webshop (eSMART, eCLASSIC und ePREMIUM) Hosted Exchange WordPress-Hosting ILIAS E-Learning, CMS-Hosting Joomla Hosted Exchange, WordPress-Hosting E-Mail, Managed Exchange Application Hosting für SAP NetWeaver und BusinessObjects Hosted Exchange, Shop-Hosting Managed Exchange Server, Hosted SQL Server Shop-Hosting (12 Softwareversionen) Warenwirtschaft, Onlineshop Hosted CRM, Lync, SharePoint, Exchange Streaming-Server E-Shop Onlineshop, E-Mail Team-Software (Confluence), Projektmanagement (JIRA), Exchange, TYPO3, kundenspezifische Software CMS-Webhosting, Groupware Hosting, Shop-Hosting (osCommerce, xt:Commerce) WinTrip (Reisekostenabrechnung) Hosted Exchange Hosted Lync, Hosted Exchange Joomla-Hosting TYPO3-Hosting Groupware (Kerio), TYPO3 E-Mail E-Mail, MS Exchange

iX extra 9/2015



Webhosting merce-Firmen Dienstleistungen rund um Shopsysteme an, darunter Logistik, Zahlungssysteme und Versicherung. In der Regel verfügen sie gar nicht über eigene Rechenzentren, sondern mieten ihrerseits Server oder Colocation bei einem HostingProvider an. Damit etablieren sie mehrstufige Hosting-Konzepte, da sich das Know-how zum Betreiben von Datacentern wenig mit dem zum Entwickeln und Betreiben von Software überschneidet. Je mehr sich der Anbieter auf ein Produkt konzentriert, desto breiter ist in der Regel sein Dienstleistungsangebot rund um diese Software, beispielsweise kundenspezifische Konfiguration (Customizing), Datenverwaltung, Training und Dokumentation. Wer zusätzliche Services rund um die Software nutzen möchte, ist hier am besten aufgehoben. Klassische

Webhoster setzen hingegen ganz auf günstige und einfach zu wartende Standardapplikationen aus dem Linux- und Windows-Umfeld. Die häufigsten Anwendungsgebiete sind Groupware, Unified Communications, Webshops und ContentManagement-Systeme (CMS).

Nur die Software zählt Bei Groupware dominiert inzwischen Microsoft den Markt. Mit einigem Abstand folgt Open Exchange. Open-SourceProdukte sind selten zu finden, etwa bei Netcup (Abb. 1). Auch im Bereich Unified Communications ist Microsoft mit Lync und SharePoint präsent. Bei CMS und Webshops existiert hingegen eine unübersehbare Vielfalt an Programmen, die fast alle der Open Source entstammen. Die Ursache hierfür liegt darin, dass beide Anwen-

dungen eng mit der Entwicklung von Webservern und Entwicklungsumgebungen für Webanwendungen verbunden sind. Somit entstand eine Vielfalt freier Programme vor denen der kommerziellen Softwarefirmen. Darum sind sie bei den Hostern so beliebt und verbreitet: Die Software ist kostenlos, konsequent für das Hosting entwickelt und nutzt die gleichen Datenbanken und Skriptsprachen, die Hoster bereits im Einsatz haben und für die sie schon über Fachwissen verfügen. Primär handelt es sich um MySQL und PHP, seltener Java, Perl oder ASP. Die Vielfalt der Softwarepakete bedeutet oft eher einen Fluch als einen Segen. Allein die Auswahl der zum Anwendungsfall am besten passenden Software erfordert tief greifendes Know-how. Hier bestätigen sich die Erfahrungen mit Open-

Source-Software in Unternehmen: Zwar werden die Lizenzkosten gespart, nicht aber Ausgaben für Beratung, Implementierung und Service. Hoster, die sich ganz auf eine oder wenige Anwendungen spezialisiert haben, sind die bessere Wahl, wenn der Kunde keine eigene Erfahrung mitbringt. Seit Microsoft die Strategie verfolgt, seine Softwareprodukte konsequent als Dienste statt als Lizenzen zu vermarkten, sind sie bei Hosting-Providern klar auf dem Vormarsch. War vor einigen Jahren MicrosoftSoftware in den Portfolios der Serviceprovider die Ausnahme, da Softwarearchitektur und Lizenzmodelle dem entgegenstanden, findet sich inzwischen eine große Auswahl an Angeboten. Neben Hosted Exchange, SharePoint und Lync ist auch Dynamics CRM bei den Hostern präsent (Abb. 2). Office 365 gibt

Serviceprovider mit Hosted Applications Hoster managedhosting.de media:Webline Mittwald netclusive netcup nethosting24

Website www.managedhosting.de www.tophoster.de www.mittwald.de www.netclusive.de www.netcup.de www.nethosting24.de

nexellent Noris PICTURE Pix Software plentymarkets PlusServer PMG Portunity Profihost Provider4u QSC QualityHosting Questback Sachsen DV SaaS-Secure.com SaaS Web Scopevisio scoreworx Strato Systix TPG T-Systems TwooIT Webconcept24 WebhostOne Web-Shop-Hosting.de Website4all.de weclapp xonic-solutions

www.nexellent.ch/de www.noris.de, www.datacenter.de www.picture-gmbh.de www.pixsoftware.de www.plentymarkets.eu www.plusserver.de, www.synserver.de www.pmgnet.de www.portunity.de www.profihost.com provider4u.de www.qsc.de www.qualityhosting.de www.questback.com/de www.sachsendv.de, www.backstor.de de.saas-secure.com www.saasweb.net www.scopevisio.com www.scoreworx.de www.strato.de www.systix.de www.theprojectgroup.com www.t-systems.de www.serverway.de www.webconcept24.de www.webhostone.de www.web-shop-hosting.de www.website4all.de www.weclapp.de www.xonic-solutions.de

VI

Software/Produkt Zimbra-Hosting (Zimbra Collaboration Server 8) Hosted Exchange CMS-Hosting (u.ˇa. Contao, Neos), Shopware-Hosting Hosted Exchange, Webshop Groupware (SOGo) Hosted Exchange, TYPO3-Hosting, Shop-Hosting, vtiger CRM-Hosting, CMS-Hosting (u.ˇa. Drupal, OpenCMS) Application Hosting (Microsoft-Applikationen, ERP- und E-Commerce-Plattformen) Groupware, Managed Exchange Business Process Management (Prozess-Management und -Virtualisierung) Projektmanagement (JIRA), Wiki (Confluence) plentymarkets Onlineshop E-Commerce-Hosting (Magento, OXID), Hosted Exchange eProjectCare (Projektmanagement) FaceEditor: CMS für Facebook Shop-Hosting (Gambio, Magento, OXID, Shopware, xt:Commerce), E-Mail-Hosting CMS-Hosting (Joomla, Wordpress, Magento, TYPO3, Drupal) QSC-tengo: Arbeitsplatz aus der Cloud Hosted Exchange, Hosted Lync Enterprise Feedback Suite (Online-Umfragen und Auswertung) Open-Xchange, SugarCRM Projekt- und Software-Management (Redmine, Git, SVN) 50 Anwendungen (darunter OpenProject, SuiteCRM, MediaWiki) Scopevisio Suite (CRM, Projekte, Abrechnung, Finanzen) Scoreboard (Managementinformationssystem) Webshop, Downloadshop, E-Mail Systix E-Shop Microsoft Project Server u.ˇa. Salesforce, Office 365 Hosted Exchange Hosted Exchange, Shop-Hosting diverse per 1Click Install, z.ˇB. Redaxo CMS Shop-Hosting (Gambio, OXID, xt:Commerce), CMS-Hosting TYPO3-Hosting Cloud CRM, Cloud ERP XoniC Professional Shop-Software

iX extra 9/2015


es hingegen nur von Microsoft selbst oder von ausgesuchten Technologiepartnern. Der Erfolg insbesondere von Groupware als gehosteter Lösung kommt nicht von ungefähr. Ursprünglich als internes Kommunikationstool implementiert, findet heute in vielen Firmen mehr Kommunikation nach außen und von unterwegs statt als innerhalb der Büroräume. Im Gegensatz zu Gateways innerhalb der Firma bringt ein Dienst vom Provider die Interoperabilität bereits mit. Als Beispiel hierfür gilt Telepresence. Hier etablieren sich Providerdienste ähnlich wie im öffentlichen Telefonnetz.

Wohl dosierte Zugriffsrechte Dass sich die Software außerhalb des Firmennetzes befindet, hat sowohl Vor- als auch Nachteile. Außendienstmitarbeiter, Kunden oder Lieferanten erhal-

ten einen einfacheren Zugriff, da sie weder geschützte Kommunikationswege (etwa VPNs) in die Firma noch Gast-Accounts benötigen. Auf der anderen Seite erfordert es aber auch besondere Maßnahmen zur Sicherung der Daten und eine Regelung der Zugriffsrechte. Für Software, die vor allem Personen außerhalb der Firma (etwa Kunden) nutzen, bringt ein externes Hosting auch ein Mehr an Sicherheit, da fremde Nutzer gar nicht erst ins Firmennetz gelangen. Ein Softwareservice ist nicht nur eine alternative Nutzungsform gegenüber der Installation in der Firma; sie bietet auch neue Möglichkeiten für das Erweitern der Funktionen, insbesondere bei der Zusammenarbeit und Nutzung mobiler Endgeräte. Neben festen Angeboten für Applikationen gibt es Provider, die Software auf Kundenwunsch hosten. So bietet nexel-

Quelle: netcup

Webhosting

Das Hosted Dynamics CRM bietet zahlreiche Features für die Kommunikation mit den Kunden (Abb. 2).


Quelle: Bridge

Webhosting

Selbst die Zeiterfassung der eigenen Firma kann der Hoster abwickeln (Abb. 3). Dienst nicht nur von technischen und kommerziellen Aspekten abhängt, sondern auch von rechtlichen Rahmenbedingungen. Das Konzept gehosteter Applikationen ist nicht an neue Nutzungsszenarien gekoppelt. So können auch ganz klassische Anwendungen inzwischen von einem Hoster kommen, etwa der Terminalserver von cojama (Abb. 4). Zwei für das Hosting prädestinierte Anwendungen sind Customer Relationship Management (CRM, Abb. 5) und Projektmanagement. Das Doku-

mentieren, Verwalten und Organisieren von Kundenbeziehungen erfolgt zunehmend von mobilen Endgeräten aus und nutzt Schnittstellen zu Social Media, was für das Hosting spricht. Microsoft Dynamics konkurriert hier mit mehreren Open-Source-Produkten um die Gunst der Hoster. Neben allgemein einsetzbaren Projektmanagement-Programmen (MS Projects, Redmine) existieren auch Tools speziell für die Softwareentwicklung. Hierzu zählen Jira zur Fehlerverwaltung, Git zur Versionskontrolle und SVN fürs Dateimanagement.

Entscheidende Servicevereinbarungen

Quelle: cojama

lent an, Drittapplikationen wie SAP, Abacus und Sage oder auch andere branchenspezifische Anwendungen für den Kunden zu betreiben. Für alles, was über Standardsoftware hinausgeht, sind individuelle Vereinbarungen zu treffen. Neben den bereits beschriebenen Anwendungen finden sich spezialisierte Applikationen für fast jeden Einsatzzweck, beispielsweise für Rechnungswesen, Zeiterfassung oder Reisekostenabrechnung (Abb. 3). Gerade letztere können als Beispiel dafür dienen, dass der Erfolg von Applikationen als

Ein Terminalserver als Hosted Application entlastet die eigene IT-Abteilung (Abb. 4). VIII

Neben kommerziellen und administrativen Aspekten stellen sich insbesondere zwei Fragen bei der Abwägung, ob eine Anwendung besser beim Hoster oder in der Firma laufen sollte: Was entspricht besser dem Prozess- und Datenfluss und wie sensibel sind die bearbeiteten Daten? Umfrage- und FeedbackSoftware eignet sich besonders gut für das Hosting, da anonymisiert erhobene Daten vergleichsweise unkritisch sind und der Zugriff überwiegend aus dem Internet erfolgt. Ähnliches gilt für E-Learning-Programme. Eine Personalverwaltungssoftware hingegen, über die nur wenige Personen Zugriff auf vertrauliche interne Daten haben, sollte eher am eigenen Standort bleiben (Abb. 6).

Die Begriffe Managed und Hosted Applications sind im Hosting-Umfeld oft synonym für einen Softwareservice vom Provider in Gebrauch. Im engeren Sinne beschreibt „Managed“ den Betrieb der Software nach Vorgaben des Kunden, also ein individuelles Konzept. Das kann für den einen Kunden bedeuten, alle Software-Updates zeitnah einzuspielen, für einen anderen aber nur Bugfixes und keine Upgrades. Es besteht auch die Möglichkeit, dem Hoster die Entscheidung zu überlassen – wenn dies mit dem Kunden so vereinbart ist. Deshalb sind hier individuelle Service-LevelAgreements mit dem Kunden die Regel. Management nach Kundenvorgabe impliziert auch, dass eine separate Softwareinstanz für den Kunden läuft. Moderne Virtualisierungstechniken ermöglichen dies auf effiziente Weise für Organisationen jeder Größe. Das Bereitstellen ausreichender Hardwareressourcen sowie die laufende Skalierung im Falle wachsender Anforderungen obliegen dem Hoster. Die Abgrenzung zwischen mehreren Kunden kann sowohl auf Betriebssystem- als auch auf Anwendungsebene erfolgen, woiX extra 9/2015


Webhosting bei Ersteres eher dem Managed, Letzteres einem Hosted Service entspricht. Im Rahmen von Managed Applications kauft der Kunde üblicherweise die Softwarelizenzen sowie Upgradeund Wartungsverträge und stellt sie bereit. Das gewährleistet die größtmögliche Datensicherheit, da er die volle Kontrolle über Anwendungen und Daten behält. Fließend ist auch der Übergang von Hosted Applications zu Cloud-Services, steht doch in beiden Fällen eine nach Nutzung abgerechnete Anwendung als Dienst zur Verfügung. Bei einem Cloud-Service erkennen die Kunden aber nicht, von wo aus der Service erbracht wird und wo ihre Daten lagern. Hierin besteht gerade der wesentliche Vorteil von Cloud-Services: Erbringen der Dienste an Standorten mit günstigen Produktionskosten und weltweite Skalierung. Aber eben deshalb sind sie für viele deutsche Unternehmen aus Sicht des Datenschutzes inakzeptabel. Beim Anmieten von Applikationen gibt ein deutscher Hoster in der Regel Auskunft über Lage, Ausstattung und Sicherheitsmaßnahmen der Rechenzentren. Das Gefühl, die Daten seien in Deutschland sicherer als anderswo, könnte jedoch trügerisch sein: Die Router der Serviceprovider mit ihren internationalen Übergabepunkten (Peering) optimieren die Datenverbindungen laufend, sodass auch bei Überlastung oder Ausfall eines Links eine Übertragung zustande kommt, bei Bedarf über – geografisch betrachtet – enorme Umwege. Daher kann niemand ausschließen, dass Datenpakete von Köln nach Berlin ihren Weg über Amsterdam, London oder gar einen anderen Kontinent nehmen. Hierin liegt der Grund für Diskussionen über ein separates deutsches oder europäisches Internet. Insgesamt verschwimmen die Grenzen zwischen Hosting und Cloud-Services zunehmend, da – getrieben vom Kundenwunsch nach mehr Datensicherheit – amerikanische Softwareproduzenten in Deutschland iX extra 9/2015

Rechenzentren aufbauen oder anmieten, um Cloud-Dienste für deutsche Kunden hier zu produzieren. Allerdings erfüllt das allein nicht alle Anforderungen deutscher Kunden. Aufsehen erregte das Urteil eines US-Gerichts, das Microsoft verpflichtete, Zugriff auf Kundendaten zu gewähren, obwohl diese auf einem Server in Europa lagerten. Viele Kunden erfuhren erst da-

durch, dass Datensicherheit nicht allein bedeutet, dass die Daten in Deutschland gespeichert sind. Entscheidend ist viel mehr, nach welchem Recht der Kunde die Verträge mit dem Provider schließt. Für internationale Softwarehersteller gilt in vielen Fällen amerikanisches oder britisches Recht. Die Datensicherheit hängt also außer von technischen Fak-

toren (Verschlüsselung, Mandantenfähigkeit) vom Ort der Datenspeicherung und vom Gerichtsstand ab – eine Herausforderung nicht nur für die Kunden, sondern auch für amerikanische Softwarehersteller. Deshalb hat Microsoft erklärt, die Dienste des Wirtschaftsprüfungsunternehmens KPMG in Anspruch zu nehmen, um das rechtskonforme Weiterentwi-


Webhosting

Quelle: CentralStationCRM

CentralstationCRM aus Deutschland soll sich besonders für das Kontaktmanagement in kleinen Unternehmen eignen (Abb. 5).

ckeln von Azure und Office 365 zu gewährleisten. Um den Sicherheitsanforderungen europäischer Kunden Rechnung zu tragen, setzen internationale Softwarehersteller zunehmend auf Partnerschaften. So hostet T-Systems in Deutschland, Österreich und der Schweiz Salesforce.com und Microsoft Office 365, was für die Kunden den Vorteil eines Vertrages nach deutschem Recht mit einem deutschen Unternehmen hat. Die Forderung der Kunden nach Datensicherheit spielt deutschen Providern in die Karten, die Applikationen nicht nur in Deutschland hosten, sondern

Gute Geschäfte: Software fürs Webshop-Hosting Die Anbieter gehosteter Webshops lassen sich in drei Gruppen einteilen: klassische Hosting-Provider, Agenturen und Webdienstleister sowie Softwareentwickler. Universalhoster können günstig produzieren, weil sie Open-Source-Software aus dem Unix-Umfeld einsetzen. Meistens bieten sie Gambio, Magento, osCommerce, OXID eSales, PrestaShop und Shopware an und betreiben die originalen Softwarepakete ohne Modifikationen. Das hat den Vorteil, dass der Kunde verfügbare Add-ons und Templates einfach verwenden kann. Seltener sind Eigenentwicklungen, die aber auch immer auf Open-Source-Produkten basieren. In der Regel überlässt ein Hoster dem Kunden die Auswahl und bietet deshalb mehrere Softwarepakete an. Mehr als fünf Versionen sind keine Seltenheit. Als Urvater der Open-Source-Shopsysteme gilt osCommerce. Viele andere Shopentwicklungen basieren darauf und haben das Original inzwischen hinsichtlich Funktionsumfang und Komfort hinter sich gelassen. Neben den Webhostern existieren Spezialisten, die ausschließlich einen Mietshop anbieten, in der Regel eine Eigenentwicklung, die ebenfalls die Standardpakete übertrifft. Auch sie basiert fast immer auf einem Open-Source-Produkt als robuster und erprobter Softwarebasis. Insbesondere xt:Commerce kennt mehrere Weiterentwicklungen, etwa commerce:SEO oder modified eCommerce. Da zusätzliche Funktionen und komfortable Bedienung einigen Entwicklungsaufwand bedeuten, sind diese Softwarepakete für den Hoster meist kostenpflichtig – zumindest in den Premiumversionen. Der Vorteil einer gemeinsamen Abstammung liegt in der Möglichkeit der Nutzung gemeinsamer Erweiterungsmodule. Auch die rein kommerziellen Softwarepakete beruhen letztlich fast alle auf freien Distributionen. So ist die Grenze zwischen Open Source und kommerzieller Software fließend. Der wesentliche Unterschied liegt in der Lizenzierung. Open Source erlaubt das Modifizieren und Weitergeben des Quellcodes (etwa nach der GNU General Public License – GPL), während ein kommerzielles Programm in der Regel nur eine Nutzung vorsieht. In vielen Fällen bieten die Entwickler ihre Webshop-Software direkt als gehosteten Service an. Damit decken sie die gesamte Wertschöpfungskette aus Entwicklung, Updates, Hosting und Support selbst ab. Einige Hersteller treten ausschließlich selbst als Hoster in Erscheinung, andere stellen die Software zusätzlich Webhostern zur Verfügung, etwa CosmoShop. Recht selten findet sich kommerzielle

X

Shop-Software, die der Entwickler ausschließlich Hosting-Partnern verkauft. So setzen 1&1, Host Europe, Netclusive und Strato auf ePages, das als Marke gepflegt, von den Hostern aber unter eigenem Namen vermarktet wird. Da der Hersteller es weder als Dienst anbietet noch an Endkunden verkauft, ist es eines der beliebtesten kommerziellen Shop-Pakete bei den Hostern. Agenturen und Webdienstleister stellen ihr Produktportfolio in den Mittelpunkt. Die gehostete Anwendung ist nur ein Baustein der Gesamtlösung für den Kunden. Sie verbinden technische Services bei Betrieb und Customizing der Software mit dem Pflegen der Artikel, dem Versenden von Mailings, dem Schalten von Werbung et cetera. Erfreulicherweise stammen viele Softwareentwicklungen für Webshops aus Deutschland. Unter den Open-Source-Programmen betrifft dies Gambio, OXID oder Shopware. Zu den kommerziellen Anbietern Made in Germany gehören CosmoShop, MondoShop, plentymarkets, Powergap, Xonic und Xanario. Neben deutschsprachigen Dokumentationen und Support ist das nicht zuletzt vor der aktuellen Diskussion um den Datenschutz für deutsche Kunden von Vorteil. Das Hauptargument für eine in Deutschland entwickelte Software ist aber die hiesige Gesetzgebung. Denn Webshops unterliegen wie kaum eine andere gehostete Software vielfältigen gesetzlichen Vorschriften, die bei deutschen Entwicklungen meist bereits den Standardeinstellungen entsprechen. Wichtige Punkte sind Steuervorschriften, Regeln zur Gestaltung von AGB und Rechnungen sowie zur Archivierung. Alle drei Anbietergruppen (Hoster, Agenturen, Softwareentwickler) zielen auf unterschiedliche Kunden. Webhoster bieten die größte Softwareauswahl und ermöglichen die Kombination mit anderen Hosting-Paketen. Im engeren Sinne entspricht dies nicht den Prinzipien des Application Hosting, da Kunden fast immer einen Server oder ein Webhosting-Paket mieten, auf dem die Shop-Software läuft. Agenturen unterstützen den Kunden beim Gestalten des Webshops, beim Pflegen des Inhalts und weiteren Dienstleistungen, etwa Schulungen und Marketing. Meist erhält der Kunde echtes Application Hosting und muss sich nicht mit der zugrunde liegenden Hard- und Software befassen. Gleiches gilt für die Softwarehersteller, die mit großem Funktionsumfang, Aktualität der Software und der Abstimmung der genutzten Infrastruktur auf die Anforderungen der Software punkten.

iX extra 9/2015


auch Verträge nach deutschem Recht anbieten. Um das für Kunden transparenter zu gestalten, hat der Bundesverband IT-Mittelstand das Siegel „Software Hosted in Germany“ ins Leben gerufen, das per Internet nutzbare Software kennzeichnet, die deutsches Datenschutzrecht umsetzt. Es nennt vier Kriterien, die sich für die Datensicherheit gehosteter Software verallgemeinern lassen: – Software und die Daten befinden sich in einem Rechenzentrum in Deutschland. – Sie verlassen Deutschland nicht, außer der Auftraggeber verlangt es. – Für den Hostingvertrag gilt ausschließlich deutsches Recht, insbesondere das deutsche Datenschutzrecht, das BGB und das HGB. – Die Unternehmen hinterlegen den jeweils aktuellen Standard ihrer technischen und organisa-

Quelle: BITE

Webhosting

Sensible Daten – hier im Personalmanagement – sollten möglichst im Hause bleiben (Abb. 6).


Das Logo der Initiative „Software Hosted in Germany“ soll verdeutlichen, dass die Daten im Lande bleiben (Abb. 7). torischen Maßnahmen in Bezug auf den Datenschutz. Die überwiegende Mehrheit der zertifizierten Produkte stammt von deutschen Softwareunternehmen, die ihre Angebote selbst hosten. So können sie einfacher sicherstellen, dass keine Hintertüren in der Software existieren, die Dritten einen Zugriff auf Kundendaten erlauben (Abb. 7). Wer Lizenzen ausländischer Hersteller hostet, kann sich nur auf deren Zusicherungen verlassen. OpenSource-Software bietet hier Vorteile, da sich entsprechende Sicherheitslücken im Quellcode leichter identifizieren lassen und eine weltweite Entwicklergemeinde existiert. Für global agierende Kunden muss eine Applikation vom Hoster keine Beschränkung auf Deutschland bedeuten. Interna-

tional tätige Provider können einheitliche Standards für ihre über Europa verteilten Rechenzentren gewährleisten. Davon profitieren nicht nur Zuverlässigkeit und Datensicherheit, sondern auch Performance und Kosten. Interoute etwa verfügt für seinen Hosted-Lync-Dienst über lokale Sprach-Gateways in verschiedenen Ländern, um den Telefonie-Datenfluss zu optimieren (Abb. 8). Hier und da sind bereits Gegenbewegungen zum allenthalben gepriesenen CloudParadigma zu beobachten. Beispielsweise steht der Webconferencing-Dienst Webex, der ausschließlich als Service entstand, inzwischen auf Drängen der Kunden auch „on Premise“ zur Verfügung – also im Rechenzentrum des Kunden. plentymarkets lässt Kunden für ihre Webshops nicht nur die Wahl zwischen dem Kauf von Lizenzen und gehostetem Dienst, sondern hat auch ein Kombipaket „Cloud Enterprise“ im Programm, das beides umfasst. Für die Kunden eröffnen Hybridmodelle vielfältige Alternativen. So können sie eine Anwendung parallel als Dienst aus dem eigenen Rechenzentrum und von einem Provider in Anspruch nehmen. Auch das Umsteigen von einer Eigenrealisierung auf einen Dienst – oder umgekehrt – wird einfacher. Ein Start-up kann seine Exchange-

Quelle: Interoute

Quelle: Bundesverband IT-Mittelstand e.V.

Webhosting

Interoute berücksichtigt bereits vorhandene Lizenzen in seiner Hosted-Lync-Kalkulation (Abb. 8). Postfächer so lange bei einem Hoster anmieten, bis es einen ganzen Server auslastet. Umgekehrt wechseln Unternehmen zu einem Service des Providers, um die Fixkosten zu senken

In iX extra 10/2015 Security: Trends & News 2015 Unternehmen müssen sich jedes Jahr aufs Neue mit Fragen der Sicherheit auseinandersetzen – zum Teil sind dies neue Themen, zum Teil bestehende, doch unter geänderten Voraussetzungen. Das Absichern von Indus-

trie-4.0-Umgebungen oder des Internet of Things gehört derzeit zu den meistdiskutierten Trends. Aber auch der Schutz vor zielgerichteten Angriffen steht immer noch im Mittelpunkt des Interesses der IT-Fachleute, ebenso wie

wirksame Sicherheitsmechanismen für mobile Umgebungen oder auch der sichere Informationsaustausch. Erscheinungstermin: 24. September 2015

Die weiteren iX extras: Ausgabe

Thema

01/16

Verfügbarkeit sicherstellen: Cloud-Speicher überwachen

XII

Cloud-Computing

Erscheinungstermin 17.12.2015

und pro User zu bezahlen. Gerade für Unternehmen mit vielen Schnittstellen zu Kunden, Partnern und Zulieferern sowie häufigen organisatorischen Veränderungen bringt ein Softwaredienst vom Hoster mehr Flexibilität gegenüber Anwendungen im eigenen Rechenzentrum. In Zukunft wird jegliche Software hostingfähig sein. Die Frage lautet dann nicht mehr, ob Application Hosting stattfinden soll, sondern nur noch, wo: im firmeneigenen Rechenzentrum, beim Hoster oder in der Cloud. Noch bestimmen die Softwarehersteller die Regeln durch ihre Architekturen (Mandantenfähigkeit) und Lizenzmodelle – ein weiterer Grund dafür, dass Open-Source-Software in der Gunst der Hoster weit oben steht. (un) Uwe Schulze ist Fachautor in Berlin. iX extra 9/2015


WISSEN | WEBPROTOKOLLE

H

TTP ist fast 25 Jahre alt. 0.9, die erste dokumentierte Version, wurde 1991 veröffentlicht. Damals bestanden Webseiten aus einfachem HTML, das tableElement war noch nicht erfunden, von CSS und JavaScript ganz zu schweigen. Eine Webseite bestand aus einer einzigen HTML-Datei. Später kamen ein paar Grafiken hinzu. Heute bedeutet ein Client-Request bei den Top-1000-Websites im Durchschnitt, 112 Dateien zu laden. Das HTTP-Protokoll hat sich allerdings mit der bis heute verwendeten 1.1er-Version aus dem Jahr 1999 diesbezüglich nicht weiterentwickelt. Um eine Webseite über HTTP/1.1 zu laden, bedarf es weder eines Browsers noch einer Spezialsoftware. Es ist ein Klartextprotokoll, das man per telnet auf Port 80 ansprechen kann: telnet www.heise.de 80 GET / HTTP/1.1 Host: www.heise.de [Return]

GET teilt dem Webserver mit, dass der Client das unter „/“ liegende Einstiegsdokument mit dem Protokoll HTTP/1.1 laden möchte. Danach muss mit Host: www.heise.de nur noch der Server folgen. Ein schlichter Zeilenumbruch schließt den Befehl ab. Danach beginnt der Webserver mit der Übertragung der HTML-Seite. Ein Browser würde allerdings nicht mit nur zwei Zeilen auskommen, sondern noch mehr Header-Informationen mitschicken. Dazu gehören der Browser-Name und Cookies.

112 Dateien zu laden kann dauern Selbst wenn ein Programm – sprich: ein Browser – das schneller als ein Mensch mit telnet bewerkstelligen kann, ist schnell klar, dass bei einem seriellen Ablauf ein Download von durchschnittlich 112 Dateien relativ lange dauert. Auf die Idee, den seriellen Ablauf durch mehrere gleichiX 9/2015

Was HTTP/2 für den Webverkehr bedeutet

Taxi ins Web Stefan Wintermeyer Mit der Versionˇ2 hat das Internetarbeitspferd HTTP/1.1 im Mai 2015 einen würdigen Nachfolger bekommen, der schnelleres Surfen für alle Nutzer ermöglicht und gleichzeitig auf den Servern weniger Netzlast erzeugt. zeitige Downloads zu parallelisieren, kamen BrowserHersteller schon vor Jahren. Allerdings kippt die Netzperformance bei etwa sechs bis acht Verbindungen zum selben Server. Danach ist der

Nachteil durch Netzverstopfung größer als der potenzielle Geschwindigkeitsvorteil. Außerdem ist damit ein TCP-Stolperstein nicht umgangen: Das Protokoll fängt mit wenig Bandbreite an und

-TRACT ⚫ Das kürzlich verabschiedete Webprotokoll HTTP/2 tunnelt über eine TCP-Verbindung mehrere Streams, die sich priorisieren lassen. ⚫ HTTP/2 setzt eine SSL-Verschlüsselung voraus, was das Installieren erschwert. ⚫ Alle populären Browser unterstützen HTTP/2, und für die Webserver Apache und Nginx, die bislang nur SPDY integriert haben, soll es noch in diesem Jahr HTTP/2Module geben. Für Nginx liegt ein erster Alpha-Patch vor.

vergrößert die benutzte Bandbreite so lange, bis das Maximum der Leitung ausgeschöpft ist (Slow-Start). Das stellt unter anderem sicher, dass der Buffer auf der Empfängerseite nicht vollläuft. Wenn zu einem Zeitpunkt x die Kapazität der TCP-Verbindung 456 KByte, eine zu übertragende Datei aber nur 56 KByte groß ist, nutzt der Server die Differenz von 400 KB nicht. Bei jeder einzelnen Datei verschwendet er somit wertvolle Übertragungskapazität. Besser wäre es, wenn das Protokoll über einen virtuellen Kanal alle Dateien in einer einzigen TCP-Verbindung übertragen könnte. Diese könnten direkt aneinandergereiht die zur Verfügung 117


WISSEN | WEBPROTOKOLLE

statische Tabelle

Request Header method

encodierte Header

1 authority

GET

2 method

scheme

https

host

www.heise.de

path

/

dynamische Tabelle

user-agent

Chrome/42

62 user-agent

"=>"

...

...

63 host ...

...

2 GET ...

7 "=>"

62 19 Huffmann("/")

Chrome/42 www.heise.de ...

Die HPACK-Header-Komprimierung verknüpft statische mit dynamischen Keys, um die Datenmenge zu minimieren.

stehende Übertragungskapazität voll ausschöpfen. HTTP/2 (siehe [a] in den „Onlinequellen“) übernimmt genau diese Aufgabe. Es öffnet eine verschlüsselte SSL-Verbindung zwischen Client und Server und wickelt darüber alle Kommunikation ab. Zusätzlich kann HTTP/2 innerhalb einer Verbindung verschiedene Streams nutzen (Multiplexing) und sie mit einer unterschiedlichen Priorität versehen. Das Laden bestimmter Ressourcen kann damit parallelisiert werden. Browser und Server stimmen sich während der Session ständig über diesen Prozess ab. Obwohl der Server immer noch die endgültige Entscheidungskompetenz besitzt, kann der Browser während des

Downloads eine andere Priorität einer bestimmten Ressource anfragen. In der Praxis könnte das bedeuten, Grafiken mit geringer Priorität und gleichzeitig CSS sowie JavaScript mit hoher Priorität zu laden. Bei der Verwendung verschachtelter (interlaced) Grafikformate könnte der Bildschirm Bildinformationen schneller darstellen (der Browser fängt mit dem Rendern erst nach dem CSS-Download an).

Künftige LadePriorität ändern Zusätzlich zu den Prioritäten kann man einen sogenannten „prioritization tree“ definieren und dadurch sicherstellen, dass

Der Weg zu HTTP/2 Ohne Google gäbe es heute kein HTTP/2. Beim Suchmaschinen-Primus hat man sich schon 2009 Gedanken über die Unzulänglichkeiten von HTTP/1.1 gemacht und mit SPDY ein neues experimentelles Protokoll ins Leben gerufen, das der Vorgänger von HTTP/2 ist. Google hat den großen Vorteil, sowohl den Browser als auch den Server verändern zu können. Zusätzlich hat es mit seiner eigenen Webseite eine Testplattform mit reichlich Traffic. Seit 2012 unterstützen Firefox und Opera SPDY. Aus den ursprünglichen SPDY-Spezifikationen wurden in den letzten drei Jahren die RFCs für HTTP/2 und das Kompressionsformat HPACK. Seit März 2012 konnten sich andere Firmen an dem RFCProzess beteiligen. Unter anderem zeigt die tabellarische Zeitleiste, dass HTTP/2 ein langjährig getestetes Protokoll ist. Nicht nur Google, auch Facebook und Twitter setzen SPDY schon seit Jahren ein. 03/2012 11/2012 08/2014 08/2014 02/2015

Call for proposals für HTTP/2 erster Entwurf HTTP/2 (basierend auf SPDY) HTTP/2 draft-17 und HPACK draft-12 veröffentlicht Working Group Last Call für HTTP/2 Internet Engineering Steering Group (IESG) akzeptiert die Entwürfe für HTTP/2 und HPACK

05/2015

Veröffentlichung von RFC 7540 (HTTP/2) und RFC 7541 (HPACK)

118

bestimmte Dateien immer vor anderen versendet werden. CSS ist dafür ein gutes Beispiel. Es bietet sich nicht an, alle Grafiken einer Webseite zu laden, bevor das benötigte CSS fertig heruntergeladen ist. Einige Browser merken sich eine schlechte Performance bei vorherigen Seitenbesuchen und ändern die Priorität der Downloads bei künftigen. Dadurch entsteht gewissermaßen ein sich selbst optimierendes System. Für Performance-Fans gibt es aber noch ein Killer-Feature: Der Server kann Dateien ohne vorherige GET-Anfrage zum Browser schicken. Wenn ein Client eine HTMLDatei anfragt und der Server weiß, dass zu dieser eine bestimmte CSS-Datei gehört, die der Browser wahrscheinlich anfragen würde, kann er sie parallel in einem weiteren Stream senden. Da er vorher den Client über diesen Push mit einem sogenannten Promise (einer Art Vorankündigung) informiert, kann weiterhin Caching zum Einsatz kommen. Denn falls der Client diese Datei schon im Cache hat, kann er den Versand abbrechen. Unter HTTP/1.1 ergab es oft Sinn, bei Landing Pages den zum Rendern des Viewports benötigten CSSCode direkt in HTML einzubauen. Teilweise war ein solches Inlining sogar bei kleinen Grafiken angeraten, damit eine Seite besonders schnell geladen werden konnte. Bei HTTP/2 lohnt das nicht mehr. Dasselbe gilt für CSS-Sprites. Weiterhin sinnvoll ist ein langfristiges HTTP-Caching (siehe iX 8/2015, S. 102) und die

Benutzung einer Asset-Pipeline, die Grafiken, CSS- und JavaScript-Dateien mit einem MD5-Fingerprint im Dateinamen ausliefert. Allerdings muss eine solche Asset-Pipeline JavaScript und CSS nicht mehr zu jeweils einer großen Datei zusammenfügen. Da HTTP/2 straflos kleine Dateien überträgt, sollte man JavaScript und CSS nur nach programmierlogischen Kriterien zusammenfassen.

Der Server, sie alle zu senden Des Weiteren sollten Umsteiger auf HTTP/2 das DomainSharding aufgeben. Damit versuchte man mit HTTP/1.1, mehr Ressourcen zur selben Zeit, aber von unterschiedlichen Servern zu beziehen. Nach dem Umzug zu HTTP/2 lohnt das nicht mehr. Es ist besser, einen gut kontrollierten TCP-Kanal zu einem Server komplett auszunutzen. Damit sollten Sitebetreiber die Benutzung von Content Delivery Networks bei vielen Webseiten neu überdenken. HTTP/2 setzt an sich keine verschlüsselte Verbindung voraus; da aber viele Router, Proxies und sonstige Netzkomponenten selbstständig optimieren, wäre bei unverschlüsselten Verbindungen in circa 30ˇ% aller Abfragen mit Schwierigkeiten zu rechnen. Deshalb unterstützen viele Browser den unverschlüsselten Modus überhaupt nicht. Außerdem ist HTTP/2 ein binäres Protokoll. Man kann es daher nicht mehr einfach per telnet von Hand benutzen. Für das populäre Netz-Sniffing-Tool Wireshark gibt es aber schon diesbezügliche Filter (siehe [c]). Während früher für SSLVerbindungen teilweise Spezialhardware zum Einsatz kam, um die benötigte CPU-Last vom Server zu nehmen, ist das für heutige Serverhardware kein Stolperstein mehr. Da der Protokoll-Overhead bei HTTP/1.1 so hoch ist und iX 9/2015


Onlinequellen Server immer mehrere TCPChannels parallel öffnen mussten, ist die CPU-Last bei HTTP/2 trotz Verschlüsselung niedriger. Und da weniger TCP-Verbindungen zu öffnen sind, kann ein Server in der Praxis bis zu viermal mehr statische Seiten gleichzeitig ausliefern. Bezüglich des Overheads gibt es noch eine weitere Neuheit: eine Header Compression für HTTP/2 mit dem Namen HPACK (siehe [b]). Bei jedem GET-Request überträgt der Browser Header-Daten zum Server. Dazu gehören Cookies, die teilweise recht groß sind. Im Durchschnitt beträgt das Gesamtvolumen der Header-Daten 500 bis 800 Bytes pro Datei – nicht „die Welt“, aber dabei muss man beachten, dass sich diese Zahl mit den 112 durchschnittlichen Dateien auf gut 80 KByte multipliziert und bei vielen DSL-Verbindungen der Upload deutlich langsamer als der Download ist. Die Kompression wird per HuffmanKodierung realisiert. Zusätzlich halten der Server und der Client eine indizierte Liste schon benutzter Header-Felder vor (beispielsweise die Browser-ID). Das reduziert die zu übertragende Information auf ein Minimum.

Der Umstieg von Version 1.1 aufˇ2 ist auf Browser-Seite einfach. Firefox, Chrome und Opera unterstützen HTTP/2 schon jetzt, und Microsofts neuer Browser Edge in Windows 10 ebenfalls. Safari dürfte noch 2015 auf iOS und OSˇX folgen. Die SPDY-Unterstützung (siehe den Kasten „Der Weg zu HTTP/2“) dieser Browser wird im Laufe des Jahres 2016 deaktiviert. Auf der Serverseite sieht es anders aus. Es gibt zwar Nischen-Webserver wie H2O mit HTTP/2 (siehe [d]), bei den großen Webservern muss man allerdings noch ein wenig warten. Da diese aber schon alle funktionierende SPDY-Module haben, kann es nicht mehr lange dauern.

Browser und Server mit HTTP/2 Wer heute schon umsteigen will, kann mit der Installation von SPDY als Webserver-Modul beginnen und bei Veröffentlichung eines HTTP/2Moduls darauf umsteigen. Die Konfiguration auf Serverseite ist durch den Einsatz von SSL zwar nicht trivial, aber das ist schon der einzige Nachteil des Protokolls. Unter https://www.h2check.org

[a] Hypertext Transfer Protocol Version 2 (HTTP/2), RFC 7540 www.rfc-editor.org/info/rfc7540 [b] HPACK: Header Compression for HTTP/2 www.rfc-editor.org/info/rfc7541 [c] Wireshark: HTTP/2 https://wiki.wireshark.org/HTTP2 [d] H2O-Webserver https://github.com/h2o/h2o [e] QUIC, a multiplexed stream transport over UDP https://www.chromium.org/quic

kann man überprüfen, ob ein Webserver HTTP/2 schon unterstützt. Im Durchschnitt stellen Browser Webseiten durch die Umstellung von HTTP/1.1 auf HTTP/2 etwa 20ˇ% schneller dar. Wichtig für eine weitere Geschwindigkeitsverbesserung ist das Beseitigen der lieb gewonnenen HTTP/1.1-Performance-Optimierungen. Diese ergeben bei HTTP/2 größtenteils keinen Sinn mehr. Nur am Rande sei hier erwähnt, dass mehr Geschwindigkeit gut für ein besseres GoogleRanking ist. Da es viele Programme und Bibliotheken gibt, die auf HTTP/1.1 setzen, dürfte es noch mindestens 10 Jahre notwendig sein, das alte Protokoll parallel zur Versionˇ2 zu betreiben. Der in HTTP/2 verbliebene Flaschenhals ist TCP. Mit diesem Protokoll kann man zwar

sicher sein, dass Informationen korrekt und in der richtigen Reihenfolge beim Browser ankommen. Das bezahlt man aber mit einem gewaltigen Overhead. Google arbeitet deshalb schon an einer Lösung: Das QUIC-Protokoll (siehe [e]) überträgt Daten nicht mehr mit TCP, sondern mit UDP. Wer damit spielen will, kann es im Chrome-Browser in den chrome://flags/-Einstellungen unter dem Stichwort „Experimentelles QUIC-Protokoll“ aktivieren. (hb)

Stefan Wintermeyer ist auf Web-Performance spezialisiert, Gründer und Geschäftsführer der AMOOMA GmbH sowie Autor eines Ruby-onRails-Buchs. Alle Links: www.ix.de/ix1509117


WISSEN | NETZE

klassische Netzausrüster wie Cisco, in einem zunehmend wichtigen neuen Marktsegment Fuß zu fassen. Praktisch alle großen Hersteller bieten deshalb – oft proprietäre – SDN-Produkte an, die etwa mit OpenStack zusammenspielen und in Management-Umgebungen integriert sind.

SDN kommerziell oder quelloffen

Software-defined Networking mit Junipers OpenContrail

Eine Wolke fürs Netz Martin Gerhard Loschwitz Im jungen Orchester der Produkte für Software-defined Networking will auch der altgediente Netzausrüster Juniper eine Geige spielen und schickt OpenContrail ins Rennen. Die freie Software virtualisiert Netze für den Cloud-Betrieb und bringt dafür umfassende Funktionen und Werkzeuge mit.

E

nde Mai 2015 fand die Entwicklerkonferenz des OpenStack-Projekts in Vancouver statt. Die schiere Größe der Veranstaltung mit mehreren Tausend Besuchern offenbart aufs Neue die wachsende Bedeutung des Themas Cloud. Das Aufbauen geeigneter Infrastrukturen ist keineswegs einfach – auch und besonders, weil konventionelle Annahmen über Rechner und Netze nicht mehr

120

funktionieren. So gilt etwa in virtualisierten Umgebungen das Prinzip „Ein Switchport führt zu einer IP-Adresse“ nicht mehr uneingeschränkt. Für fast alle Schwierigkeiten beim Wechsel von klassischen hin zu Cloud-Setups existieren jedoch mittlerweile gangbare Wege: Geeignete verteilte Speicher-Cluster beispielsweise realisiert das Dateisystem Ceph unter dem Stichwort Software-defined

Storage (SDS), und beim Virtualisieren der Netze per Software-defined Networking (SDN) stehen Produkte wie Open Flow und Open vSwitch bereit. Warum man ein per Software definiertes Netz überhaupt benötigt und weshalb ein konventionelles für die Cloud nicht ausreicht, erläutert der iX-Grundlagenartikel „Neue Pfade“ [1]. Zwar gibt es diverse Produkte auf Basis von freier Software am Markt, jedoch stoßen sie an Grenzen, wenn die Setups über das typische, aus fünf Knoten bestehende Proof of Concept hinauswachsen. Open vSwitch etwa skaliert in größeren Umgebungen nicht zufriedenstellend, weil es zu viel Overhead erzeugt.

Proprietäres SDN contra OpenSource Dieser Umstand freut besonders die Hersteller klassischer Netzkomponenten, denn die sehen durch SDN freilich einen Teil ihres Geschäfts gefährdet. War es früher üblich, dass die Netzhardware verschiedene Aufgaben erledigte und sich der Hersteller das teuer bezahlen ließ, übernimmt in SDN-Setups die Software die Regie. Gerade weil die meisten Ansätze dafür jedoch nur bedingt taugen, ergibt sich eine gute Möglichkeit für etablierte

Contrail hat sein Produkt stets als freie Software konzipiert, und unter der Regie von Juniper (das die Firma 2012 kaufte) sind bislang alle zentralen Komponenten samt Quelltext in einem GitHub-Repository erhältlich („Onlinequellen“, [a]). Juniper-Kunden können Contrail auf verschiedene Arten beziehen: Einerseits bietet das Unternehmen kommerzielle Pakete an, bestehend aus Appliances mit allen zu Contrail gehörenden Komponenten und entsprechenden SupportOptionen, dazu einen ContrailController mit OpenStack-Integration. Wer lieber auf die quelloffene Version setzt, die Juniper seinen proprietären Produkten zugrunde legt, greift zur Variante OpenContrail unter einer Apache-Lizenz. Bei den Features unterscheiden sich beide Produkte kaum. Für die Open-Source-Variante bietet der Hersteller Pakete für die wichtigsten Enterprise-LinuxDistributionen an. Wählt man die OpenSource-Variante, landet man allerdings schnell auf dem harten Boden der Realität – gerade weil die Quellen von OpenContrail öffentlich verfügbar sind, ist das ganze Ausmaß der Katastrophe gut zu erkennen: Die Funktionen von OpenContrail setzen auf zahlreiche externe Bibliotheken und Werkzeuge, die Juniper allerdings per Patch um spezifische Features erweitert hat. Beispielsweise bind: Der Netzausrüster hat ein „DNS as a Service“-Werkzeug namens contrail-dns eingeführt, iX 9/2015


Auf dem Controller-Knoten gehören etliche Prozesse zu Contrail. Sie teilen sich in Konfigurations-, Kontroll- und Analytics-Dienste ein und greifen ineinander, damit die SDN-Technik auf allen Knoten funktioniert (Abb.ˇ1).

das per rndc dynamisch einen bind-Server konfiguriert. Damit das klappt, muss man Letzteren allerdings erst mit einem Juniper-Patch versehen und neu kompilieren. Da man dies Administratoren offenbar nicht zumuten wollte, erstellt Contrail beim Übersetzen der eigenen Bestandteile ungefragt die lokalen, modifizierten Versionen dieser Komponenten, neben bind etwa auch curl. Contrail für Ubuntu enthält diese Werkzeuge und Bibliotheken in den .deb-Paket-Dateien. Nur kommen sie sich mit diversen Systempaketen der Distribution wegen doppelt vorhandener Dateien in die Quere: in einem der Contrail-Pakete und im ursprünglichen Ubuntu-Paket. Besonders bei Bibliotheken offenbart sich das Dilemma: Die SDN-Software installiert libPakete in der Juniper-Ausführung – dann lassen sich jedoch einige Ubuntu-Bibliotheken nicht mehr einspielen und damit auch keine davon abhängende Software. Es wäre an Juniper, dieses Chaos mit einem vernünftigen Release-Management in den

Griff zu bekommen und den Build-Prozess so umzubauen, dass er sich auf unmodifizierten Systemen ohne Komplikationen nutzen lässt. Der Autor dieses Artikels bietet in einem separaten Launchpad-PPA OpenContrail-Pakete der Version 2.0 für Ubuntu 14.04 an, die sich ohne solche Schwierigkeiten installieren lassen [b]. Ein Enterprise-Angebot ist das aber nicht, sondern der erste schwerwiegende Minuspunkt für OpenContrail.

Durcheinander beim Quelltext Hat der Administrator die Installation bewältigt, muss er sich den technischen Interna widmen. OpenContrail besteht aus einer Vielzahl von Komponenten, deren Zusammenwirken am besten an Beispielen erklärt wird. Typischerweise kommt das System zusammen mit einer Management-Software wie OpenStack zum Einsatz, weil SDN ohne eine solche nur bedingt sinnvoll ist. Dieser Artikel betrachtet SDN anhand einer OpenContrail-In-

stallation in einer OpenStackbasierten Cloud. Wer mag, kann andere Cloud-Umgebungen ebenfalls mit der SDNSoftware koppeln. OpenContrail stellt einige Maximen auf, beispielsweise dass die genutzte Hardware (ganz im klassischen SDNSinn) generisch sein darf: Es ist keine spezielle Netzhardware etwa von Juniper nötig, um die Software einzusetzen. Das gesamte Management verlagert sich auf die Software-Ebene. Diese unterteilt Juniper in zwei logische Teile: Auf der einen Seite die Kontrollkomponenten (Control Nodes) mit dem Regelwerk, das die Pakete ans Ziel schickt. Auf der anderen Seite der virtuelle Router, kurz vRouter: In einer OpenStack-Wolke stellt jeder Computing-Knoten (ein Host mit virtualisierten Servern) einen solchen dar. vRouter erhalten Anweisungen von den Kontrollkomponenten und setzen sie entsprechend den bei ihnen laufenden virtuellen Maschinen (VM) um. In einer OpenContrail-Installation findet sich demnach immer

-TRACT ⚫ OpenContrail verwaltet virtualisierte Netze in Cloud-Umgebungen und liefert die Open-Source-Grundlage für Junipers Plattform Contrail für Software-defined Networking. Die quelloffene Variante lässt sich wahlweise ohne proprietäre Hardware nutzen. ⚫ Die SDN-Software arbeitet mit einem Cloud-Management wie OpenStack zusammen. Sie nutzt für die Netzkommunikation etablierte Standards wie BGP und MPLS und skaliert auch in großen Umgebungen. ⚫ Komplizierte Abhängigkeiten zwischen den Contrail- und den Betriebssystempaketen erschweren die Installation, die Dokumentation ist lückenhaft.

iX 9/2015

mindestens ein Controller, der von beliebig vielen virtuellen Routern flankiert ist. Einer der größten Kritikpunkte an SDN-Produkten wie Open vSwitch ist, dass sie das Rad in vielerlei Hinsicht neu erfinden, obwohl das nicht nötig wäre. Denn in Computernetzen existieren zahlreiche Standards und Protokolle für nahezu jeden Anwendungsfall. Contrail hat sich für diese Herangehensweise entschieden und setzt so weit wie möglich auf vorhandene Technik wie das Multiprotocol Label Switching (MPLS) oder das Border Gateway Protocol (BGP). Auf einem Contrail-Controller laufen zu diesem Zweck mehrere Dienste (Daemons) mit jeweils einer spezifischen Aufgabe.

Mit etablierten Standards zum Erfolg Das zeigt sich schon beim Speichern der Contrail-Konfiguration – nicht die der Dienste, sondern die SDN-Metadaten. Informationen darüber, welcher Kunde in einer Cloud welche Netze besitzt und wie diese mit der Außenwelt kommunizieren, legt das System in der NoSQL-Datenbank Apache Cassandra ab. Im vorliegenden Beispiel liegt sie zudem allen anderen OpenStack-Diensten zugrunde. Auf einem Contrail-Controller für OpenStack laufen zahlreiche Dienste, darunter nicht weniger als elf, die unmittelbar zum System gehören (siehe Abbildungˇ1). Juniper teilt sie in der Dokumentation [c] in drei Gruppen ein: 121


WISSEN | NETZE

– Die Konfigurationsdienste speichern die SDN-Einstellungen in der Datenbank und nehmen Änderungsanforderungen von externen Umgebungen wie OpenStack entgegen. – Die Kontrolldienste verarbeiten die Daten der ersten Gruppe und setzen sie etwa in Routing-Informationen um. So wird die Kommunikation innerhalb des SDN und zur Außenwelt hin erst möglich. – Die Analytics-Dienste dokumentieren Netze und Interfaces und zeichnen den Daten-

verkehr auf. Sie bieten dem Administrator einen stets aktuellen Überblick über Ereignisse im Netz. Bei den Komponenten aus den Konfigurationsdiensten setzt sich der Einsatz vorhandener Standards fort. Weil es eine Schnittstelle zur Außenwelt geben muss, über die externe Dienste wie OpenStack Änderungen am SDN an Contrail melden, besitzt die Software eine api-Komponente. Sie beruht wie viele CloudServices auf dem RESTful-

Prinzip, nutzt also HTTP(S). Der discovery-Dienst funktioniert wie ein Telefonbuch für das SDN-System, in dem sich alle Komponenten dynamisch an- und abmelden, etwa der Schema-Transformer und der Service-Monitor. Ersterer liest die Contrail-Konfiguration aus Cassandra und übersetzt sie für die vRouter-Instanzen, die sie auf den Computing-Nodes in Netzkonfiguration umwandeln und nutzen. Der Service-Monitor verwaltet die Service-Instanzen, über die Contrail bei-

spielsweise Source Network Address Translation (SNAT) für Kunden-VMs realisiert – dazu später mehr. Schließlich gehört auch die DNS-Komponente zur Konfiguration, falls die Funktion DNS as a Service zum Einsatz kommt. Zu Contrail gehört außerdem ein Webinterface, das aus dem Web-UI und einem Worker-Job besteht. Ersteres kommuniziert nicht selbst mit den OpenContrail-Diensten, sondern überlässt diese Aufgabe dem Jobserver. Der beschafft die Informationen und leitet sie wiederum an das Web-UI weiter.

BGP für den Rest der Welt

Für das OpenStack-Dashboard Horizon stellt Contrail ein Plug-in bereit, das SDN-Funktionen (etwa Policies und IPAM) aus dem GUI heraus nutzbar macht (Abb.ˇ2).

Das Webinterface informiert den Administrator über alle wichtigen Parameter, zeigt den Zustand der diversen Nodes und meldet Alarme (Abb.ˇ3). 122

Die Kontrolldienste erledigen die Kommunikation der Cloud mit der Außenwelt. Allen voran steht die control-Komponente: Sie beherrscht BGP und übernimmt beispielsweise das Bekanntgeben von IP-Adressen in der Cloud nach außen (Announcement), damit diese erreichbar werden. Wenn sichergestellt ist, dass control mit einem BGP-Peer zur Außenwelt hin reden kann, übernimmt der BGP-Router auf der Gegenseite das Announcement der von der control-Komponente ausgegebenen Routen. Im Beispiel von OpenStack definiert der Administrator lediglich öffentliche IPNetze, aus denen Contrail anschließend die Adressen für Kunden-VMs bezieht. Ein IF-MAP-Server (Interface for Metadata Access Points) ist ebenso Bestandteil der Kontrolldienste und veranlasst die Agents auf den virtuellen Routern, statt der gesamten Konfiguration aus der Cassandra-Datenbank nur die für sie relevanten Teile zu übernehmen. Gruppe drei – die Analytics-Dienste – kümmert sich ums Protokollieren innerhalb der Cloud. Ein analytics-apiServer dient als Anlaufpunkt für den Contrail-Collector, der von den vRouter-Agents auf iX 9/2015


OSS/BSS

Anwendung 1

GUI

(OpenStack)

den Hypervisor-Knoten regelmäßig Informationen zu bestehenden Verbindungen sowie genutzten Netzressourcen sammelt und anschließend in der Datenbank speichert. Mit dem Werkzeug Query Engine holt sich der Administrator aus den Analytics-Daten die gewünschten Informationen zu API-Queries.

Den zahlreichen ContrailDiensten auf dem Controller steht auf den Hypervisor-Knoten lediglich ein Dienst gegenüber: der vRouter-Agent, der jedoch einen Verbündeten tief im System besitzt. Jeder vRouter lädt ein Modul vrouter.ko, das auf Kernel-Ebene in den Netzverkehr eingreift und den Datenverkehr weiterleitet. Zwar sehen auch andere SDN-Ansätze wie Open vSwitch eine solche Implementierung virtueller Router im Kernel vor, OpenContrail ist ihnen jedoch in mehrfacher Hinsicht überlegen. Denn vrouter.ko bezieht seine Daten von den Kontrollkomponenten wie contrail-control – so hat jeder vRouter stets alle Informationen hinsichtlich der Netzkonfiguration, statt sich nur auf seine lokalen Daten zu verlassen. Das erleichtert den Datenverkehr zwischen den VMs wie auch das Routing von Paketen zur Außenwelt. Damit sind alle Komponenten benannt, die in einer OpenContrail-Installation als SDNBackend für OpenStack eine Rolle spielen (siehe Abbildungˇ4). Allerdings ist die Zahl der involvierten Elemente größer, weshalb zum besseren Verständnis der Funktionen und des Zusammenwirkens im Folgenden drei Beispiele den Weg von Paketen innerhalb von OpenContrail nachzeichnen. Zunächst geht es um den Datenverkehr zwischen den auf mehrere Computing-Nodes verteilten Kunden-VMs. Anschließend folgt eine Beschreibung des Verkehrs von VMs iX 9/2015

Anwendung n

REST-APIs

Contrail-System Configuration

Peering-Interface (BGP)

Analytics

Verwaltungsebene

Control XMPP

BGP + Netconf

Virtuelle Server VM

VM

VM

Hypervisor

XMPP

Virtuelle Server IP-Fabric (physisches Netz)

vRouter

Virtueller Router mit Kernel-Modul

Quelle: OpenContrail

Cloud-ComputingSoftware Neutron

VM

VM

VM

vRouter

Gateway Router

MPLS per GRE, Hypervisor MPLS per UDP, VXLAN

In einem Contrail-SDN übermitteln die Kontrolldienste die Netzkonfiguration an die vRouter auf den Hypervisoren. Die Übertragung von Informationen und Routen setzt auf die Standards BGP und MPLS (Abb.ˇ4).

hin zur Außenwelt. Schließlich zeigt der Artikel, wie sich VMs mit offiziellen IP-Adressen versehen lassen (bei OpenStack „Floating IPs“ genannt). Mit dem vRouter-Modul umgeht Contrail eine Schwierigkeit, die Open vSwitch wegen der Verwendung des Protokolls OpenFlow hat. Zwar verfügt Open vSwitch ebenfalls über eigene virtuelle Router, die haben jedoch nur Kenntnis von den jeweils lokal auf dem Rechner vorhandenen Teilen des SDN-Setups. Will etwa eine Kunden-VM auf Serverˇ1 mit einer VM desselben Kunden auf Serverˇ5 kommunizieren, muss das Backend zunächst eine Suche starten, denn der virtuelle Router auf dem ersten Server weiß nicht, dass die Ziel-VM auf Nummerˇ5 läuft – er sieht nur die MAC-Adresse und muss im nächsten Schritt die VM ausfindig machen. Bei Open vSwitch bewältigen Tunnel auf Basis des Generic Routing Encapsulation Protocol (GRE) oder virtueller LANs (VLAN) diese Art des Datenverkehrs zwischen den Nodes. Bei 100 Knoten muss Serverˇ1 auf der Suche nach einer VM im Netz das entsprechende Paket demnach 99 Mal replizieren und per GREoder VLAN-Tunnel an die anderen Hosts schicken. Das

skaliert schon im Kleinen ganz offenbar nicht und führt in großen Setups zu massiven Engpässen bei der Skalierbarkeit. Der Traffic-Overhead bei Open-vSwitch-Installationen ist enorm. OpenContrail geht eleganter zu Werke. Dessen Modul vrouter.ko implementiert stattdessen auf jedem Host eine eigene Forwarding-Plane, die MPLS beherrscht. In ihr legt der virtuelle Router MPLSPfade für die Kundennetze an – die dafür benötigten Parameter bezieht er vom Kontrollknoten. Ein vRouter in OpenContrail muss eine Ziel-VM also nicht suchen, sondern stellt ein Paket für diese VM lediglich anhand des vorher per MPLS signalisierten Pfades zu.

Per Source-NAT ins Internet Nicht weniger wichtig für die virtuellen Systeme von Kunden ist die Internetverbindung. Alle SDN-Ansätze am Markt lösen das derzeit per SourceNAT (SNAT), was zudem das Konfigurieren öffentlicher IPAdressen in den VMs einer Cloud vermeidet. Denn einerseits müsste man den Kunden dauerhaft IP-Adressen zuweisen, wenn sie sie selbst in

ihren VMs konfigurieren sollen – es ist absehbar, dass dieses Verfahren nicht skaliert. Und andererseits soll CloudComputing auch Nicht-Profis mit IT-Diensten versorgen. Längst nicht jeder Nutzer weiß, wie auf einem Linuxoder Windows-System eine IP-Adresse zu konfigurieren ist – auch wenn das aus Sicht gestandener Administratoren unvorstellbar klingt. Ebenso verfolgt OpenContrail den SNAT-Ansatz, geht diesen aber sinnvoller an als Open vSwitch. Für SNAT sind die Service-Instanzen verantwortlich. Juniper bezeichnet sie irritierenderweise als „Virtual Machines“ – tatsächlich handelt es sich jedoch um Network Namespaces, die von den ohnehin vorhandenen vRouter-Instanzen dynamisch verteilt werden und die anschließend per SNAT-Regel die Pakete zur Außenwelt weiterleiten. Zur Erinnerung: Ein Network Namespace ist innerhalb der Control-GroupsFunktion des Linux-Kernels (cgroups) ein virtueller NetzStack mit eigenen Interfaces, der von anderen Namespaces oder dem physischen NetzStack auf demselben Host vollständig getrennt bleibt. Network Namespaces sind im SDN-Umfeld beliebt, weil sie die Pakete unterschiedli123


WISSEN | NETZE

Network Namespaces verbinden VMs mit der Außenwelt und stellen sicher, dass sie von außen per Floating IP erreichbar sind (Abb.ˇ5).

cher Kunden auf Kernel-Ebene voneinander trennen. Sie können eigene IPs, iptablesRegeln und Routen haben. Pfiffig gelöst hat Contrail das Platzieren der Service Instances: Legt ein Nutzer ein neues Netz an und verbindet es mit der Außenwelt über einen OpenStack-Router, entsteht ein passender Network Namespace auf einem ComputingKnoten automatisch. Dazu spielen die Komponenten der Kontrollgruppe zusammen, bevor ein vRouter den Befehl erhält, den Network Namespace zu erstellen. Contrail umgeht so die Schwierigkeiten mit den Network Nodes, wie sie ein typisches OpenStack-Setup mit Open vSwitch hat. Dort existiert jeweils nur ein Netzknoten, der allen für die Außenwelt bestimmten Datenverkehr durchleitet. Aktuellere OpenStack-Versionen unterstützen zwar mehrere solcher Knoten, beherrschen jedoch den Failover eines Netzes zwischen ihnen nicht, wenn

der ursprüngliche Host mit Network Namespace ausfällt. In einer OpenContrail-Installation kann hingegen jeder Host für jedes Netz als Knoten dienen. Das Zuweisen erfolgt dynamisch und mit Redundanz: Stürzt der Rechner ab, der für ein spezifisches Kundennetz als Internetknoten fungiert, gibt es den gleichen Network Namespace auf einem anderen Knoten des Setups nochmals. Die Kontrollkomponenten verändern lediglich das Signalisieren per MPLS, und der Ausfall dauert nur wenige Sekunden. Ähnlich reibungslos bewältigen derzeit nur kommerzielle Tools wie VMwares NSX den Umgang mit Ausfällen auf SDN-Ebene.

Gegen Ausfälle gerüstet Übrigens nutzt Contrail die Service-Instanzen nicht nur für Network Namespaces. Auch

eine Funktion wie Load Balancer as a Service (LBaaS) erledigen sie intern und nützen dafür andere Templates. Kunden haben regelmäßig den Wunsch, eine VM in der Cloud mit einer fixen IPAdresse zu versehen und sie darüber von außen zu erreichen. Technisch betrachtet ist der Fall nahezu identisch mit der zuvor beschriebenen SNAT-Situation – mit dem Unterschied, dass Destination NAT (DNAT) anstelle von SNAT zum Einsatz kommt. Das BGP-Announcement zeigt als /32-Route auf den Hypervisor-Host, auf dem die VM läuft. Der Agent stellt anschließend das Paket lokal an deren Interface zu. Open vSwitch im Zusammenspiel mit OpenStack steht regelmäßig in der Kritik, weil es in einer solchen Cloud meist einen Single Point of Failure (SPOF) einführt. Der schon erwähnte einzelne Netzknoten scheint heute kaum noch zeitgemäß, denn ein

Service-Instanzen (SI) kümmern sich in OpenContrail um Source-NAT, mit dem Pakete zur Außenwelt gelangen. Im Hintergrund entspricht eine SI einem Network Namespace (Abb.ˇ6). 124

solches Setup skaliert weder sinnvoll, noch bietet es irgendeine Form von Redundanz. Da helfen auch die aktuellen Versuche wenig, den Netz-Stack nachträglich um fehlende High-AvailabilityFunktionen zu erweitern – die kommerziellen Hersteller wie VMware oder Midokura sind OpenStack in diesem Punkt längst enteilt. Contrail hat das Thema Hochverfügbarkeit (HA, High Availability) zufriedenstellend behandelt. Einerseits sind wegen des automatischen Verteilens von Network Namespaces samt automatischem Failover VMs sogar bei einem Hardwareausfall in kürzester Zeit wieder mit dem Netz verbunden. Andererseits hat Juniper auch das Thema Infrastruktur-HA nicht vergessen: Alle Contrail-Komponenten können in einem Cluster mit mehreren Instanzen vorkommen. Mehrere Prozesse von contrail-control fangen auch hier einen Serverausfall ab. Großen Anteil an der Hochverfügbarkeit hat zudem der Discovery-Dienst: Bei ihm melden sich alle ContrailKomponenten an, sobald sie aktiv sind. Will etwa ein Dienst mit einer Instanz von Contrail-Control reden, teilt ihm der Discovery-Service die zur Verfügung stehenden Kontrollinstanzen mit. Diese tauschen ihre Informationen untereinander per BGP aus, sodass Befehle nicht fälschlich doppelt ausgeführt werden. Auch externe Komponenten wie Cassandra lassen sich problemlos hochverfügbar auslegen, weil sie inhärente Cluster-Modi unterstützen. In einem durchdachten Contrail-Setup gibt es deshalb üblicherweise keinen SPOF. Der Einsatz eines HA-Werkzeugs wie Pacemaker bleibt auf ein Minimum beschränkt, es dient in einem typischen Contrail-Setup lediglich dazu, eine IP-Adresse zu verwalten, auf der der Load Balancer HAProxy für den Zugriff auf APIs läuft. Einzig der Discovery-Dienst als echter ClusteriX 9/2015


Das HA-Werkzeug Pacemaker dient etwa dem Einsatz des Load Balancers HAProxy. Die Zahl der damit verwalteten Dienste ist jedoch winzig (Abb.ˇ7).

Service lauscht auf der gleichen Adresse und zieht bei einem Ausfall mit ihr von einem Host zum anderen um.

Fazit: Licht und Schatten Contrail ist ein mächtiges SDN-Werkzeug, dessen relevante Komponenten unter einer freien Lizenz quelloffen vorliegen. Es bringt alles mit, um echtes SDN zum Beispiel für OpenStack zu bieten. Ist die Installation bewältigt, liefert das Setup dem Administrator zuverlässige Funktionen, wo Open Flow & Co. versagen. Eine uneingeschränkte Empfehlung lässt sich derzeit trotzdem nicht aussprechen – das hat mehrere Gründe. Ein großes Manko ist das chaotische Release-Management, das auch die zuvor beschriebenen Unzulänglichkeiten bei den Paketen zu verantworten hat. Zwar ist die Entwicklung der Software öffentlich, trotzdem sucht man

Onlinequellen [a] GitHub-Account von Juniper github.com/Juniper [b] OpenContrail-Pakete für Ubuntu 14.04 launchpad.net/~syselevenplatform/+archive/ubuntu/ contrail-2.0/ [c] Übersicht über die Contrail-Dienste juniper.github.io/contrailvnc/architecture.html

iX 9/2015

sinnvolle Changelogs oder Upgrade-Guides vergeblich. Juniper ist offensichtlich zuallererst um die zahlende Kundschaft bemüht, die Contrail zumeist in Form fertiger Appliances einsetzt. Die Dokumentation ist in vielerlei Hinsicht inakzeptabel unvollständig. Wer wissen möchte, warum sich etwa ein Dienst nicht wie erwartet verhält, muss zu einem Werkzeug wie strace greifen, weil brauchbare Auskünfte fehlen. Dies und die überaus steile Lernkurve bei Contrail frustrieren Administratoren, die sich erstmals mit der Software beschäftigen. Tatsächlich hätte Contrail gute Chancen, zu einem etablierten SDNProdukt im Cloud-Umfeld zu werden. Die Technik gibt das her. Der Rest passt aber noch nicht, Juniper müsste nachlegen. (tiw)

Martin Gerhard Loschwitz arbeitet als Cloud Architect bei SysEleven in Berlin und beschäftigt sich mit Distributed-Storage-Lösungen, mit SDN und mit OpenStack. Außerdem ist er Entwickler beim Debian-Projekt.

Literatur [1]ˇMartin Gerhard Loschwitz; Netze; Neue Pfade; Software-Defined Networking: Grundlagen und Übersicht; iXˇ4/2015, S.ˇ102 Alle Links: www.ix.de/ix1509120

125


PRAXIS | WEBPROGRAMMIERUNG

Reactive Programming mit JavaScript

Schnell und elastisch Sebastian Springer Benutzer stellen an heutige Webanwendungen hohe Anforderungen. Intuitiv und schnell zu bedienen sollen sie sein und Antworten in kurzer Zeit schicken. JavaScriptEntwickler, die das gewährleisten wollen, finden nicht nur bei Frameworks wie Node.js Hilfe, sondern auch im Konzept der reaktiven Programmierung.

S

oftwareentwicklung im Web bedeutet in erster Linie den Aufbau eines Client-Server-Systems auf Basis von HTTP unter Verwendung von HTML, CSS und JavaScript in Verbindung mit einer Sammlung von BackendTechniken. Diese Applikationen leben von der Interaktion mit ihren Nutzern, und genau das wirft zahlreiche Schwierigkeiten auf. Reactive Programming ist ein

126

Paradigma, das versucht, solche Anforderungen zu bedienen und die Applikationen näher zu ihren Benutzern zu bringen. Bereits Mitte der Achtzigerjahre des letzten Jahrhunderts haben David Harel and Amir Pnueli die Grundlage für Reactive Programming geschaffen, indem sie „reaktive Systeme“ definiert haben (zu Quellen im Web siehe „Alle Links“ im blauen Balken am Ende). Darauf aufbau-

end gibt es zum Beispiel Sprachkonstrukte wie Reactive C. Der vorliegende Artikel zeigt, wie man das Paradigma in JavaScript-Applikationen umsetzen kann. Zunächst ein kurzer Überblick. In einem Satz ausgedrückt, beschäftigt sich „Reactive Programming“ mit der Modellierung von Datenflüssen und der automatischen Aktualisierung aller Repräsentationen einer Information innerhalb einer Applikation. Ein konkretes Beispiel zu diesem Paradigma findet sich im TwoWay Data Binding von AngularJS. Es unterstützt im MVVM-Modell (Model View ViewModel) des Frameworks die automatische Aktualisierung sämtlicher View-Repräsentationen eines Model, ohne dass der Entwickler zusätzlichen Quellcode schreiben muss. Außerdem lassen sich Informationen im View anpassen und die geänderten Werte automatisch ins Model übernehmen. Neben dieser oft recht hilfreichen automatischen Datenaktualisierung steckt jedoch noch viel mehr hinter reaktiver Programmierung. Das eigentliche Ziel ist, dass die Applikation insofern gut nutzbar ist, als der Benutzer direkt mit dem System arbeitet und eine unmittelbare und klare Rückmeldung erhält. Um diese Anforderung hat sich zusätzlich zur reinen Programmierung eine ganze Systemarchitektur gebildet. Deren Umsetzung in Webapplikationen mithilfe von JavaScript ist Thema der folgenden Abschnitte.

JavaScript – weit verbreitet und flexibel Zunächst aber die Antwort auf die Frage: „Warum JavaScript?“ Die Wahl dieser Programmiersprache im Frontend von Webapplikationen ist in den meisten Fällen relativ unstrittig, handelt es sich doch um die mit Abstand am weitesten verbreitete Sprache. Jeder gängige Browser beinhaltet eine JavaScript-Engine, mit der er die Skripte interpretieren kann, und dank der ECMAScript-Standardisierung verhalten sich die meisten Browser in den Grundzügen ähnlich. Auf den Servern im Backend sieht die Situation ganz anders aus. Hier konkurriert JavaScript mit Java, Ruby, PHP und vielen weiteren hoch entwickelten und in professionellen Projekten genutzten Sprachen. Jedoch kommt es sowohl im Frontals auch im Backend nicht nur auf die Programmiersprache an, sondern auf verschiedene Faktoren wie die Anzahl potenzieller Entwickler oder die verfügbaren Frameworks. Speziell bei den Frameworks zeigt sich ein gemischtes iX 9/2015


Bild. Das Frontend ist mit etablierten Bibliotheken wie AngularJS, ExtJS oder React sehr gut besetzt. Im Backend bauen zahlreiche kleinere Frameworks auf der Basisplattform Node.js auf. Allerdings findet man in diesem Bereich mit dem Node Package Manager und dem zugehörigen Repository npmjs.org eines der am stärksten wachsenden Ökosysteme in der Webentwicklung. Bibliotheken, die sich speziell Reactive Programming auf die Fahne geschrieben haben, gibt es recht wenige, jedoch lässt sich das Paradigma auf zahlreiche existierende Frameworks und Bibliotheken anwenden. Punkte, die für den Einsatz von JavaScript sprechen, sind vor allem die zunehmende Professionalisierung in der Entwicklung der Sprache und ihre hohe Flexibilität sowie die Tatsache, dass es viele JavaScript-Programmierer gibt.

Anforderungen des Reactive Manifesto Das Problem mit Reactive Programming ist, dass viel darüber gesprochen wird, jedoch ein großer Interpretationsspielraum offen bleibt, wenn es um die konkrete Umsetzung geht. Diesem Thema widmet sich das Reactive Manifesto (siehe „Alle Links“), ein Schriftstück, das die vier Säulen reaktiver Systeme beschreibt. Der Text ist relativ kurz, vermittelt allerdings einen guten und kompletten Eindruck von den Anforderungen, die ein reaktives System zu erfüllen hat. Abbildungˇ1 zeigt die vier Säulen und deren Abhängigkeiten untereinander. Die Grundlage des Systems bildet eine nachrichtengetriebene Architektur (Messagedriven), auf der ein skalierbares (Elastic) und stabiles (Resilient) Konstrukt aufsetzt, das ein responsives (Responsive) Frontend an den Benutzer ausliefert. Diese Kombination sieht schon auf den ersten Blick sinnvoll aus und auch der Aufbau klingt logisch. Sämtliche Kom-

Das Reactive Manifesto: Seine vier voneinander abhängigen Säulen fassen die Anforderungen an reaktive Systeme zusammen (Abb.ˇ1).

Responsive

Elastic

Message-driven

ponenten dieses Systems sind darauf ausgerichtet, dem Benutzer einer Applikation eine direkte Interaktion zu ermöglichen. Das Ziel ist nun, ein solches System nur mit JavaScript umzusetzen, sodass die Datenflüsse vom Benutzer bis zur Persistierung der Daten in einer Sprache durchgängig sind. Um Reactive Programming nicht nur in der Theorie, sondern auch in der Realität zu erleben, benötigt man eine Aufgabe, die es zu lösen gilt. Ein reaktives System spielt seine Stärke vor allem in einer Umgebung mit vielen Benutzern aus, die auf einem gemeinsam genutzten Datenpool arbeiten. Zur Demonstration soll eine Applikation zur Lagerverwaltung dienen. Mehrere Benutzer können das System verwenden, um sich die Bestände der einzelnen Artikel anzusehen oder sie zu manipulieren. Änderungen speichert das System und schickt sie an alle anderen Benutzer. Zur Umsetzung dieser Anforderung kommen eine Reihe verschiedener Techniken und Bibliotheken zum Einsatz. Je nach Aufgabenstellung oder technischen Anforderungen können Programmierer einzelne Komponenten austauschen oder komplett weglassen. Wie in der Entwicklung üblich, gibt es hier nicht nur einen Weg zum Ziel und jeder muss den für sich passenden finden. Für dieses Beispiel bildet ein Node.jsServer das Rückgrat der Applikation. Das Backend wird auf Basis von Express, dem zurzeit populärsten WebapplicationFramework für Node.js, umgesetzt. Die Datenhaltung übernimmt eine MySQLDatenbank. Die Kommunikation mit den

-TRACT ⚫ Webentwickler, die dem Reactive Programming folgen, können leichter strukturierte Client-Server-Anwendungen entwickeln, bei denen zahlreiche Subsysteme miteinander interagieren. ⚫ Zentrale Punkte sind dabei die Modellierung und Kontrolle der Datenströme sowie die schnelle Aktualisierung und Darstellung von Informationen. ⚫ Mit JavaScript hat ein Programmierer genügend Flexibilität, um alle Anforderungen einer solchen Webanwendung hinsichtlich zu versendender und empfangener Daten, Antwortzeiten, Skalierbarkeit und Ausfallsicherheit zu gewährleisten.

iX 9/2015

Resilient

Clients im Frontend läuft über HTTP und WebSocket (wss). Die Clientseite schließlich wird in AngularJS implementiert. Aus Platzgründen ausgespart bleiben die Themen Paketverwaltung, Testing und Continuous Integration. Den Anfang macht der nachrichtengetriebene Unterbau der Applikation.

Message-driven: Vom Frontend ins Backend Den nachrichtengetriebenen Aufbau einer Applikation unterstützt vor allem der asynchrone Charakter von JavaScript sehr gut. Jedem Entwickler, der bereits mit der Sprache gearbeitet hat, ist das Konzept von Callback-Funktionen bekannt, die an bestimmte Ereignisse gebunden werden. Ereignisse versteht JavaScript als Nachrichten, typischerweise handelt es sich dabei um vom Benutzer ausgelöste Events wie Mausklicks oder Tastatureingaben. Es können aber auch benutzerdefinierte Ereignisse innerhalb der Applikation oder vom Server verursachte sein. Serverseitig sieht die Lage ähnlich aus. Der asynchrone Charakter von JavaScript gewinnt hier noch mehr Bedeutung, wenn man sich vor Augen hält, dass Node.js grundsätzlich eine Single-Threaded-Plattform ist. Jedoch bearbeitet der Node.jsProzess sämtliche Operationen, die nicht den eigenen Code betreffen, wie Anfragen an das Dateisystem oder an andere Systeme, nicht selbst, sodass diese Aktionen den Serverprozess nicht blockieren. Der Datenfluss in der Beispielapplikation beginnt im Browser des Benutzers, indem der einen Bestandswert anpasst. Diese Änderung überträgt die Anwendung über eine WebSocket-Verbindung an den Server, der sie überprüft und speichert. Gleichzeitig sendet er die Information an alle übrigen verbundenen Clients, die ihre Anzeige ebenfalls aktualisieren. Das Frontend der Beispielapplikation besteht aus einer Standard-AngularJS-Installation. Die gesamte Applikation ist in eine ng-app gekapselt und die Liste der Bestände liegt in einem Controller. Eine ng-repeat-Direktive veranlasst die Iteration über die einzelnen Datensätze für die 127


PRAXIS | WEBPROGRAMMIERUNG

Anzeige. Der Vorteil dieser Vorgehensweise ist, dass der Programmierer für die automatische Aktualisierung der Informationen auf Angular-Bordmittel zurückgreifen kann. Wie bereits angedeutet, erfolgt die Kommunikation mit dem Backend nicht auf dem üblichen Weg per HTTP-Request mit dem Angular-eigenen $http-Service, sondern über das WebSocket-Protokoll, das auch den Rückkanal für die Aktualisierungen vom Server stellt. AngularJS unterstützt das WebSocket-Protokoll nicht direkt. Allerdings sind einige Module verfügbar, die das Framework um diese Funktion erweitern. Ein Vertreter dieser Kategorie ist angular-websocket (Listingˇ1). Der Anwender kann es mit dem Paketmanager bower – der selbst wiederum mit dem Paketmanager npm installiert wird und Node.js benötigt – über die Kommandozeile installieren, lädt es über ein Script-Element oder einen ModuleLoader und bindet es über die Modulverwaltung des Frameworks ein. Der Vorteil dieses Moduls ist, dass es sich gut in das AngularJS-Ökosystem eingliedert und beispielsweise Hilfsfunktionen für die Formulierung von Tests vorsieht. Außerdem kümmert sich angular-websocket per apply automatisch um die Datenaktualisierung und propagiert so die Änderungen in der Applikation. Wie in AngularJS üblich, lagert die Beispielanwendung die Kommunikation

über die WebSocket-Verbindung in einen eigenen Service beziehungsweise eine Factory aus, was wesentlich zur Erhöhung der Wiederverwendbarkeit der Komponenten beiträgt: var stream = $websocket('ws://localhost: — 8080/stockItems');

Und genau diese Modularisierung ist ein wichtiges Prinzip der reaktiven Programmierung. Ein System besteht aus vielen kleineren Komponenten, die über definierte Schnittstellen miteinander kommunizieren. Der Kommunikationsservice für das WebSocket-Protokoll ist eine solche Komponente für Client und Server, über die sie Nachrichten austauschen können. Im WebSocket-Protokoll sind beide Kommunikationsendpunkte gleichberechtigt, können also gleichermaßen Nachrichten senden und empfangen. Für die Kommunikation mit dem Server ist es empfehlenswert, die Nachrichten so zu strukturieren, dass sie sich schnell bearbeiten lassen. So hat sich etwa ein Feld im Datenpaket als hilfreich erwiesen, das den Typ der Nachricht angibt, anhand dessen der Server die Nachricht an die korrekte Stelle zur Bearbeitung leitet. Bevor man mit der nachrichtenbasierten Entwicklung einer reaktiven Applikation beginnen kann, muss man zunächst die bestehenden Daten vom Server holen. Zu diesem Zweck sendet die Anwendung bei der Initialisierung des für

Listing 1: WebSocket-Kommunikation in AngularJS var stream = $websocket('ws://localhost:8080/stockItems'); var stockItems = []; stream.onMessage(function(message) { var item = JSON.parse(message.data); if(angular.isArray(item)) { item.forEach(function (data) {

});

stockItems.push(data); }); } else { for (var i = 0; i < stockItems.length; i++) { if (stockItems[i].id === item.data.id) { stockItems[i].stock = item.data.stock; return; } } stockItems.push(item); }

Listing 2: Der Angular-Controller function ListController(stockItems) { var vm = this;

vm.decrease = function (item) { stockItems.save({ id: item.id, stock: item.stock - 1 }); };

vm.stockItems = stockItems; vm.increase = function (item) { stockItems.save({ id: item.id, stock: item.stock + 1 }); };

function init() { stockItems.get(); } }

128

init();

die Liste zuständigen Angular-Controllers eine Nachricht zum Server. Dieser liest die Daten aus der Datenbank und antwortet mit einem Datenpaket. Über das Two-Way Data Binding von AngularJS synchronisiert der Client die erhaltenen Werte aus dem Kommunikationsservice indirekt mit der Anzeige und stellt so die Informationen korrekt dar.

Korrekte Anzeige durch Synchronisation Mit dieser Infrastruktur ist der Weg nun frei für die eigentliche Aufgabe: das Erstellen einer reaktiven Liste. Zunächst benötigt man dafür Eingabeelemente. Im Beispiel sind dies Buttons zum Erhöhen beziehungsweise Verringern des Lagerbestandes. An diese Buttons bindet die ng-click-Direktive jeweils eine CallbackFunktion, die das zugehörige Ereignis behandelt. Die Callback-Funktion transformiert den Click-Event so, dass er nur noch den Identifier des zu bearbeitenden Datensatzes und den neuen Bestandswert enthält. Die Logik zum Umgang mit den Benutzereingaben liegt im Controller, ist an das ViewModel gebunden und steht so im Template zur Verfügung: vm.increase = function (item) {...}

Über den WebSocket-Service sendet der Client diese Information an den Server. Dieser Dienst fungiert auch als Schnittstelle für den Server, um Nachrichten an den Client zu schicken und beispielsweise Bestandsänderungen bekannt zu geben. Anders als beim initialen Laden der Informationen liefert der Server bei der Aktualisierung nur die benötigten Daten mit. Das reduziert die erforderliche Bandbreite und schont die Serverressourcen, da er weniger Daten lesen muss. Das bedeutet aber auch, dass sich der Programmierer selbst um die Routine für die Datenaktualisierung kümmern muss. Im vorliegenden Fall geht es vor allem darum festzustellen, ob es sich um neue oder um Aktualisierungen bestehender Datensätze handelt. Sobald aber die Collection von Angular-Models aktualisiert wurde, werden die Änderungen durch das TwoWay Data Binding von Angular automatisch an jede relevante Stelle in der Applikation verteilt und angezeigt (Listingˇ2). Nachdem der Datenfluss innerhalb des Frontends mit AngularJS modelliert ist, besteht der nächste Schritt aus der Implementierung des zugehörigen Backends. Serverseitig kommt mit Node.js ebenfalls eine Plattform auf Basis von JavaScript zum Einsatz. Die Umgebung und iX 9/2015


die damit verbundenen Anforderungen unterscheiden sich jedoch gravierend vom Frontend im Browser. Nicht ein Benutzer oder ein Server generiert Ereignisse, mit denen der Server umgehen muss, sondern viele Clients kommunizieren mit ihm. Außerdem gibt es keine grafische Ausgabe oder direkte Interaktionsmöglichkeit mit dem JavaScript-Code, was das Debugging etwas schwieriger macht. Auf der anderen Seite hat serverseitiges JavaScript auch einen Vorteil. Der Server steht vollständig unter Kontrolle des Entwicklers, er muss also im besten Fall nicht mit verschiedenen Softwareversionen umgehen. Eine Applikation allein mit dem Funktionsumfang von Node.js zu implementieren, ist zwar möglich, jedoch nicht empfehlenswert, da kaum Struktur oder Hilfsmittel zur Verfügung stehen. Aus diesem Grund baut die Beispielapplikation im Backend auf das Webapplication-Server-Framework Express auf. Zusätzlich kommt das Paket express-ws zum Einsatz, das das Framework um eine WebSocketKomponente erweitert. So ist zumindest die Lücke zwischen Client und Server geschlossen. Reaktive Anwendungen sollen nicht nur einen nachrichtenbasierten Aufbau haben, sondern sich außerdem am Datenfluss ausrichten. Node.js bietet für den Umgang mit Datenströmen ein eigenes Modul: das Stream-Modul. Damit lassen sich verschiedene Arten von Datenströmen modellieren. So gibt es beispielsweise lesbare oder schreibbare Streams oder solche, in die eine Anwendung schreiben und aus denen sie lesen kann. Die Datenströme lassen sich verketten und dienen so als Daten-Pipeline von der Quelle – etwa einer Datenbank – bis hin zur Schnittstelle des Clients, also dem WebSocketEndpunkt (Listingˇ3). Das Stream-Modul in Node.js dient als Basis für zahlreiche weitere Module wie das HTTP-Modul, auf dem auch Express aufbaut. Neben einigen Node.js-Modulen basieren zahlreiche externe wie der MySQL-Datenbanktreiber auf dieser API. Existiert für eine Komponente im System keine Stream-Schnittstelle, was auf die verwendete WebSocket-Bibliothek zutrifft, ist es ein Leichtes, einen Wrapper um ein solches Modul zu schreiben und so einen durchgängigen Datenstrom zu implementieren. Darauf kann die Anwendung dann über die von der Stream-API bekannten Schnittstellen zugreifen: stream.on('readable', function () {

Ein Ereignis auf dem WebSocket-Kanal bewirkt, dass der Server die Informationen aus der Datenbank liest und in einen iX 9/2015

Stream schreibt. Diesen kann der WebSocket-Wrapper aufgreifen und direkt zum anfragenden Client weiterschicken. Damit ist das initiale Lesen der Daten durchgängig gelöst.

Alle Clients auf dem Laufenden halten Im nächsten Schritt muss der Server in der Lage sein, mit Aktualisierungen von Daten umzugehen. Der Client schickt schon eine Nachricht, die der Server entgegennehmen und in eine Datenbankabfrage verpacken muss. An dieser Stelle ist es erforderlich, dass sämtliche Werte korrekt mit einem Escape-Zeichen versehen werden, um keine Sicherheitsprobleme auf Datenbankebene zu verursachen: connection.query('UPDATE articles — SET stock = ? WHERE id = ?', data)

Der Server soll nun die entgegengenommene Änderung an alle angeschlossenen Clients weiterreichen. Hierfür hält er eine Referenz auf alle aktiven WebSocket-Verbindungen und kann darüber eine Broadcast-Nachricht an alle Clients versenden. Bis jetzt ermöglicht es die Applikation lediglich, dass der Anwender auf einen von zwei Buttons drückt, um den Bestand zu erhöhen oder zu verringern. Einen solchen Klick bearbeitet sie relativ schnell. Führen jedoch zwei Benutzer gleichzeitig dieselbe Aktion aus, überschreibt eine Anfrage die andere. Und damit ist auch schon die einfachste Form der Konfliktauflösung in reaktiven Systemen vorgestellt. Die spätere Anfrage überschreibt einfach die frühere. Bei Klicks auf Buttons mag das eine praktikable Lösung sein, wenn es aber darum geht, größere Datenmengen zu produzieren, führt dies schnell zu Unmut bei den Benutzern. Daher ist es zu empfehlen, eine Strategie für den Umgang mit Konflikten zu erarbeiten. Eine Lösungsvariante ist beispielsweise das Sperren von Datensätzen, wie es zahlreiche Datenbanken praktizieren. Angenommen, ein Benutzer möchte den Bestandswert eines Artikels überschreiben. Sobald er den Datensatz zum Ändern öffnet, sendet der Server über eine WebSocket-Verbindung eine Nachricht an alle anderen Clients und sperrt diesen Datensatz. Erst wenn der Benutzer die Eingabe abschließt, gibt er den Datensatz wieder frei. Wesentlich aufwendiger gestaltet sich in diesem Fall die Umsetzung von Strategien zur automatischen Konfliktauflösung. Hier versucht das System eine Zu-

Listing 3: Datenströme in Node.js app.ws('/stockItems', function (ws, req) { var stream = WSStream(ws); sockets.push(ws); ws.on('close', function () { sockets.splice(sockets.indexOf(ws), 1); }); stream.on('readable', function () { var msg = stream.read(); if (msg.action === 'get') { connection.query('SELECT * FROM .stream() .pipe(stream); } }); });

articles')

sammenführung der Änderungen. Eines der bekanntesten Systeme, das sich solcher Strategien bedient, ist das Versionskontrollsystem Git. Bei der Implementierung eines solchen Systems muss man in den meisten Fällen außerdem die Möglichkeit vorsehen, Konflikte manuell zu lösen. Mit den bisher beschriebenen Funktionen steht ein kleiner Teil einer reaktiven Applikation, der vom Frontend über den Server bis hin zur Datenbank reicht. Das entscheidende Merkmal ist, dass sämtliche Interaktionen asynchron stattfinden. Asynchron bedeutet in diesem Kontext, dass die Anwendung auf das Eintreffen eines Ereignisses wartet. Dies ist eine recht schonende Art, mit Ressourcen umzugehen, da das Programm nur auf Abruf arbeiten muss.

Resilient: Stabilität durch Fehlerbehandlung Die nachrichtengetriebene Infrastruktur bildet die Basis für eine stabile Applikation. Beim Thema Stabilität steht der Umgang mit Fehlern an erster Stelle. Sämtliche Komponenten einer Applikation können ausfallen, das reicht vom Browser des Benutzers, der einfach abstürzen kann, über die Verbindung zwischen Client und Server bis hin zur Server-Applikation, die nach einer nicht gefangenen Exception ihre Tätigkeit einstellt, bis sich ein Administrator darum kümmert. Entwickler können einiges dafür tun, dass es so weit nicht kommt und kein manueller Eingriff erforderlich ist, um die Applikation wieder in einen funktionsfähigen Zustand zu versetzen. Den Anfang macht die Fehlerbehandlung. Eine nicht gefangene Exception bedeutet in JavaScript fast immer das Aus für eine Applikation. So ist es naheliegend, für diese Art von Fehler das obligatorische try-catch einzusetzen. Hier ist jedoch Vorsicht geboten: Da die meisten 129


PRAXIS | WEBPROGRAMMIERUNG

Listing 4: Fehlerbehandlung im Backend ar stream = WSStream(ws); ws.on('error', function (data) { logger.err(data); });

Operationen asynchron erfolgen, wird ein außen liegendes try-catch einfach umgangen, da zum Zeitpunkt einer CallbackFunktion der Block mit der try-catch-Anweisung bereits beendet ist. Es gibt jedoch einige Muster, die speziell für diese Aufgabenstellung entwickelt wurden. In Node.js hat es sich beispielsweise eingebürgert, dass alle CallbackFunktionen als erstes Argument ein Fehlerobjekt erhalten (Listingˇ4). Tritt kein Fehler auf, weist dieses Objekt den Wert null auf. Bei nachrichtenbasierten Systemen gibt es häufig einen speziellen errorEvent, an den der Programmierer für die Fehlerbehandlung passende CallbackFunktionen binden kann. Außerdem kann er über das Konzept der „Promises“ Fehlerbehandlung in asynchronen Routinen veranlassen. Unter dem Begriff Promise versteht man hier ein Konstrukt, das eine Applikation auflöst, wenn eine Routine erfolgreich durchlaufen ist, und das sie abweist, wenn ein Fehler aufgetreten ist. In beiden Fällen können Callback-Funktionen an die Routine gebunden werden, damit der Programmfluss fortfahren kann. Als Faustregel für die Fehlerbehandlung kann man überall dort Routinen zum Abfangen von Fehlern integrieren, wo potenziell Fehler auftreten können, die für das System kritisch sind. Das beginnt im Frontend. Hier prüft der Client fehlerhafte Eingaben direkt und präsentiert dem Benutzer entsprechende Meldungen. Der

nächste Schritt betrifft die Verbindung zum Server. An dieser Stelle kann man einen Mechanismus umsetzen, der bei einem Verbindungsabbruch eine neue Verbindung herstellt. Dabei sollte der Programmierer allerdings die Anzahl der Versuche begrenzen, da der Client sonst möglicherweise permanent versucht, eine Verbindung herzustellen, die jedoch nicht zustande kommt. Beispielsweise könnte der Client, wenn er fünfmal vergeblich versucht hat, eine Verbindung aufzubauen, den Benutzer über potenzielle Probleme informieren. Auch im Backend sind Routinen zur Fehlerbehandlung unerlässlich. Kritische Stellen sind dort die Annahme von ClientAnfragen, deren Bearbeitung und die Verbindung zu Datenbanksystemen. Ein häufig auftretendes Beispiel für serverseitige Fehlerbehandlung sind Ereignisse die meist dem folgenden Muster entsprechen: ws.on('error', function (data) {

Stabilität und Robustheit einer Applikation erreicht man vor allem durch eine konsequente Isolation von Subsystemen. Dadurch kann sie damit umgehen, wenn ein Subsystem versagt, ohne dass das zwingend einen Ausfall des Gesamtsystems nach sich zieht. Führt man diese lose Kopplung der Subsysteme fort, kann man einzelne im Fehlerfall neu starten oder bei Bedarf sogar komplett austauschen. Im Normalfall halten größere Systeme kritische Komponenten wie BackendServer oder Datenbanken redundant vor. Das bedeutet, es gibt mindestens zwei Instanzen jedes Systems, sodass bei einem Ausfall das zweite System die gesamte

Load Balancer LB1

Node.js App-Server App1

App2

App3

DB-Cluster DB1

130

DB2

Load Balancing in Node.js: Der Load Balancer leitet die Clientanfragen an den jeweils zuständigen Server weiter (Abb.ˇ2).

Last übernehmen kann. Hier kann man unterschiedliche Strategien vom Stand-by, bei dem das System ohne Last auf seinen Einsatz wartet, bis zum aktiven Parallelbetrieb verfolgen.

Elastic: Skalierbarkeit im Backend Eng mit der Resilienz verbunden ist die Elastizität eines Systems. Die primäre Forderung lautet hier: Das System soll immer gleich schnell bedienbar sein, egal, unter welcher Last es zu diesem Zeitpunkt steht. Im Falle von JavaScript betrifft die Elastizität in Form von Skalierung vor allem das Backend. Dem Benutzer einen zweiten Browser oder gar einen zweiten Rechner zur Verfügung zu stellen, in dem er weitere Operationen durchführen kann, ist wenig sinnvoll. Die einzige Möglichkeit, im Clientbereich etwas zu skalieren, ist die Verwendung von WebWorkern zum Auslagern rechenintensiver Operationen in einen separaten Browser-Prozess. Diese Strategie bewirkt, dass größere Rechenoperationen den Browser nicht in der Ausführung blockieren. Wie in AngularJS üblich, sollte man auch bei WebWorkern nicht auf die native Browser-Implementierung, sondern stattdessen auf einen Wrapper wie ng-webworker zurückgreifen. Im Backend steht man vor einer ähnlichen Hürde: Node.js wird nur in einem Prozess ausgeführt. Das heißt zunächst, dass man nicht mit gemeinsam genutzten Ressourcen oder ähnlichen Schwierigkeiten zu kämpfen hat, bedeutet aber gleichzeitig, dass die Anwendung die verfügbaren Ressourcen – allen voran die Prozessoren – nicht optimal ausnutzen kann. Zur Lösung dieses Problems verfügt Node.js mit den cluster- und child_process-Modulen über zwei Erweiterungen, die über einen fork-Prozess weitgehend unabhängige Kindprozesse abspalten können. Mit diesen Kindprozessen kann dann über Nachrichten kommuniziert werden. Für die Erstellung solcher Kindprozesse gibt es allerdings eine Einschränkung. Man sollte nicht versuchen, unendlich viele zu initiieren, da sie sich die Prozessoren des Systems teilen müssen. Daraus ergibt sich mit der Anzahl der Prozessorkerne eine sinnvolle obere Limitierung der Zahl der zu erstellenden Kindprozesse. In vielen Fällen reicht diese lokale Skalierung von Node.js noch nicht aus. Der nächste Schritt ist eine vertikale Skalierung über mehrere Serversysteme hinweg. Dafür schaltet man vor die Node.jsiX 9/2015


Serversysteme einen Load Balancer, der die Anfragen der Clients an die jeweils zuständigen Server weiterleitet (Abb.ˇ2). Damit dieser Verbund von Maschinen funktionieren kann, muss der Entwickler eine Shared-Nothing-Architektur wählen, bei der die Node.js-Server kein Wissen über den Status des Clients haben. Hier geht es speziell um die Session-Informationen, die ein zentrales System – beispielsweise Memcache oder Redis – vorhält. Eine Alternative sind Sticky Sessions, die einen Client immer auf den gleichen Server leiten. Das Load Balancing stellt Programmierer reaktiver Applikationen vor zwei weitere Hürden: Die erste Herausforderung ist, dass die Anwendung nicht nur eine HTTP-Verbindung zwischen den Clients und Servern herstellt, sondern auch WebSocket-Verbindungen aufbaut. Die zweite Aufgabe besteht in der Herstellung einer gesicherten Verbindung über verschlüsselte Protokolle wie HTTPS und wss. Als Lösung empfiehlt sich der Einsatz eines etablierten Load Balancer – etwa nginx. Diese Software ist in der Lage, alle Anforderungen zu erfüllen inklusive des Einsatzes von Verteilalgorithmen für das Load Balancing, der Weiterleitung von wss- und HTTPS-Verbindungen sowie der Verwendung in Infrastrukturen mit hohem Verkehrsaufkommen. Mehrere Serverknoten mit Node.js helfen allerdings nur, solange der Flaschenhals einer Applikation an einer anderen Stelle liegt – beispielsweise der Datenbank. Aus diesem Grund sollte man alle Systeme mehrfach vorhalten. Dies dient nicht nur dem Load Balancing, sondern auch der Ausfallsicherheit und bedient gleichzeitig die Anforderung an Elastizität.

Responsive: Schnelle Antworten müssen sein Der vierte und damit letzte Punkt ist für die Benutzer der Applikation mit Abstand der wichtigste, denn er vereinigt alle übrigen in sich. Eine Applikation kann nur responsiv sein, wenn sie fehlertolerant und elastisch ist. Responsivität bedeutet in einer Applikation, dass sie dem Benutzer schnell antworten soll, damit er ein Gefühl direkter Interaktion mit der Applikation hat. Hier sind lange Wartezeiten ein absolutes No-Go. Eine lange Wartezeit beginnt bei Webapplikationen deutlich unter einer Sekunde. Bei einem reaktiven System steht die Information des Benutzers im VorderiX 9/2015

grund. Er soll immer wissen, was das System tut, und jede dieser Rückmeldungen soll direkt und möglichst ohne Wartezeit erfolgen. Wichtig dabei ist außerdem, dass die Information nicht störend auf den Arbeitsprozess wirkt. Das Material Design von Google gibt hier dem Entwickler beispielsweise Richtlinien an die Hand, wie er mit Animationen umgehen soll, damit sie die Usability der Applikation unterstützen. Das Material-Modul für AngularJS stellt einige vorgefertigte Direktiven bereit, die dazu dienen können, dem Benutzer beispielsweise den Erfolg einer Speicheraktion anzuzeigen. Eine der kritischsten Stellen im Lebenszyklus einer Applikation ist der Start, also die Zeit, in der der Benutzer das erste Mal mit ihr interagiert. Um die Zeitspanne vom Aufruf bis zur fertigen Darstellung zu verkürzen, sollte man einige Best Practices beachten. Dazu zählen unter anderem das Minifizieren von JavaScript- und CSS-Dateien, das Aktivieren von Kompression bei der Datenübertragung vom Server und die regelmäßige Überprüfung der Performance der Applikation.

Fazit Der Aufbau einer reaktiven Applikation ist nicht trivial, da zahlreiche Systeme ineinandergreifen. Zentrale Bedeutung hat hier vor allem die Entkopplung der Subsysteme, damit der Entwickler sie mit geringem Aufwand skalieren und im Fehlerfall gegebenenfalls austauschen kann. Wichtig bei der Konzeption eines solchen Systems ist außerdem, dass immer der Benutzer im Fokus steht und der Entwickler daher bei der Erstellung der Applikation auf einen durchgängigen Datenfluss und einen permanenten Informationsstrom zum Benutzer hin achtet. Diese Anforderungen lassen sich gut mit JavaScript umsetzen, da die Sprache viel Flexibilität bietet und kontinuierlich neue Features sowohl im Browser als auch auf dem Server verfügbar werden, die noch performantere Applikationen ermöglichen. (ka)

Sebastian Springer arbeitet als Projekt- und Teamleiter für die Mayflower GmbH in München. Sein Fachgebiet umfasst vor allem clientund serverseitige Entwicklung von JavaScript-Applikationen. Alle Links: www.ix.de/ix1509126


PRAXIS | DATENBANKEN

MariaDBs MaxScale als Proxy und Bin-Log-Server

Vielseitiger Dompteur

Timo Schöler Der Proxy MaxScale von MariaDB vermittelt zwischen der Anwendung und dem Datenbank-Cluster und beherrscht Statement Load Balancing, betätigt sich als Bin-Log-Server, übernimmt Firewall-Funktionen und lässt sich mit Plug-ins nahezu beliebig erweitern – Anwendungscode muss man dafür nicht anpassen. In bestehende Umgebungen lässt er sich ohne viel Aufwand integrieren.

M

itte Januar 2015 stellte das Unternehmen MariaDB mit MaxScale einen quelloffenen Proxy für MySQL und dazu kompatible Datenbanken (wie das eigene Produkt MariaDB) vor, der mehr Funktionen als das übliche Load Balancing bietet und sich durch Plug-ins erweitern lässt. Mit ihm kann

132

der Administrator die im Betrieb von MySQL-Datenbanken üblichen Skalierungsszenarien beim Replizieren oder beim Clustering unkompliziert umsetzen und Ausfälle vermeiden. Mit MySQL Proxy und HAProxy gibt es bereits seit Längerem ähnliche Software, deren Funktionen jedoch vergleichs-

weise rudimentär ausfallen. MaxScale hingegen arbeitet unter anderem als multifunktionaler Load-Balancing-Proxy, Bin-Log-Server, Sharding-Manager und Firewall. Mit diesen Eigenschaften verbessert er Skalierbarkeit, Zuverlässigkeit und Sicherheit von Datenbank-Setups. Damit lassen sich zudem ausgefallene Szenarien einrichten – der Artikel zeigt ein Beispiel mit einem Bin-Log-Server. Auf verschiedene Weise vereinfacht MaxScale das bei MySQL übliche horizontale Skalieren („Scale out“, das Hinzufügen weiterer Datenbankserver). Im Kern der Software arbeitet der SQL-Parser von MariaDB, weshalb sie den Inhalt der Queries versteht – anders als agnostische Proxies, die Datenbankanfragen lediglich weiterleiten. Bedarfsweise kann sie diese modifizieren, gemäß vom Datenbankadministrator konfigurierten Regeln an bestimmte Server umleiten oder per Firewall ausbremsen (Rate Limiting) beziehungsweise blockieren, falls sie illegitim sind, etwa bei einer SQL-Injection-Attacke. Mit den Funktionen „Query Logging“ und „Top N Logging Filter“ kann der Administrator Laufzeiten und Häufigkeit von Queries über mehrere Server hinweg analysieren. Damit entfällt die Beschränkung auf das MySQL-Performance-Schema, das lediglich die Aktivitäten eines Datenbankservers erfasst. Im Downloadbereich von MaxScale finden sich vorkompilierte Pakete für Red Hat Enterprise Linuxˇ5 bisˇ7 und hierzu kompatible Distributionen wie CentOS und Scientific Linux sowie für Fedora (siehe blauer Kasten „Alle Links“). Für Debianˇ6 und 7 respektive Ubuntu 12.04 bis 14.10 gibt es ebenso Pakete wie für SUSE Linux Enterprise Server (11 und 12) und openSUSE. Außerdem unterstützt die Software Linux auf IBMs Power8-Systemen in den Varianten Big-Endian und Little-Endian. Wer die vorkompilierten Pakete nicht verwenden kann oder will, findet den Quellcode sowie ein Wiki im MaxScaleBereich der GitHub-Präsenz des Herstellers. Ein git clone https://github.com/ — mariadb-corporation/MaxScale.git

kopiert den Quellcode samt ausführlicher Dokumentation (inklusive Tutorials zu einigen Anwendungsszenarien) auf das eigene System. Zum Zeitpunkt der allgemeinen Verfügbarkeit (General Availability, GA) im Januar 2015 arbeitet MaxScale mit MariaDB Enterprise, MariaDB Enterprise Cluster (Galera), MariaDB 5.5 und iX 9/2015


Flexibler Vermittler mit Durchblick Bereits in der Konzeptionsphase haben die Entwickler darauf geachtet, ihre Software flexibel zu halten: Da der Proxy als Abstraktionsschicht transparent zwischen der Applikation und den Datenbankservern vermittelt, darf er die Performance des Setups nicht beeinträchtigen. Alles um die Kernkomponente herum ist in Plug-ins ausgelagert, sogar grundlegende Funktionen wie Logging, Routing-Entscheidungen, Filter und die Unterstützung von Protokollen (Protocol Awareness). Deshalb kann man das System relativ einfach erweitern, gleichzeitig bleiben die Komponenten voneinander getrennt, was das Debugging vereinfacht und der Sicherheit dient. Die Kernkomponente ist für hohen Datendurchsatz mit minimalem Ressourceneinsatz ausgelegt, Multithreading-fähig und wie die Plug-

Der DatenbankProxy MaxScale verteilt SQL-Queries je nach Last der Server oder nach dem Inhalt der Abfrage (Statement Load Balancing). Zudem kann man ihn als Firewall sowie als eigenständigen Bin-Log-Server einsetzen.

rea d

d rea

ite

MaxScale

te

i /wr

d rea

Datenbank

ins in C programmiert. Auf Linux-Systemen nutzt sie den effizienteren System-Call epoll statt der älteren Varianten select und poll. MaxScale unterscheidet fünf Arten von Plug-ins, wobei mehrere eines Typs gleichzeitig aktiv sein können: „Protocols“ dient dem Kommunizieren (einschließlich Debugging und Monitoring) und implementiert derzeit die Client- und Serverprotokolle von MariaDB und MySQL. „Authentication“ stellt die grundlegende Funktion zum Anmelden an MaxScale zur Verfügung. Die obligatorische „Router“-Komponente entscheidet, an welche Datenbank sie eine Anfrage sendet, während der optionale „Filter“ für das Modifizieren oder Zurückweisen von Anfragen bereitsteht. Schließlich stellt „Monitor“ Informationen zum Zustand der überwachten Datenbankserver zur Verfügung, auf deren Grundlage wiederum „Router“ die anzusteuernden Server ermittelt. Weil MaxScale mit dem MariaDBParser anders als andere Proxies Kenntnis vom Inhalt der Queries hat, kann die Software bei der Hochverfügbarkeit (High Availability, HA) differenzierte Ent-

-TRACT ⚫ Mit MaxScale steht ein vielseitiger, quelloffener Proxy für MySQL und kompatible Datenbanken wie MariaDB zur Verfügung, der mit geringem Aufwand in bestehende Serverlandschaften integrierbar ist. ⚫ Im Gegensatz etwa zu MySQL Proxy oder HAProxy analysiert er mit dem SQL-Parser von MariaDB die eingehenden Datenbankanfragen, kann dadurch komplexe Routing-Entscheidungen treffen und Filterregeln anwenden. ⚫ MaxScale kann als transparenter Bin-Log-Server dienen und das Replizieren verbessern. Durch die Plug-in-Architektur ist er offen für Erweiterungen, beispielsweise für die künftige Unterstützung weiterer Datenbanken.

iX 9/2015

ite

r /w

/w r

Quelle: MariaDB

10 sowie mit Oracles MySQL zusammen. Durch die Plug-in-Architektur könnten später weitere Datenbanken hinzukommen, etwa Hadoop, MongoDB, Cassandra oder CouchDB. Version 1.1.0 erschien am 8. April und erhielt neue Funktionen, unter anderem High Performance Binlog Relay (einen schnellen Bin-Log-Server), Schema Sharding Router für horizontal geteilte Tabellen ohne Applikationsanpassung, Hint-based Routing (Einfluss aufs Routing durch sogenannte „Hints“ in den SQL-Statements), Named Server Routing für das gezielte Ansprechen eines Servers sowie Canonical Query Logging zum Einbinden von RabbitMQ-Instanzen (Applikations-Messaging). Version 1.2 bietet zudem ein Skript-Framework, unterstützt SSL beim Client und kommt ohne root-Konto aus. Außerdem ist der Bin-Log-Server zusätzlich für MariaDB 10 und MySQL 5.6 erhältlich.

read-only

Datenbank

Datenbank

scheidungen treffen, etwa abhängig vom Status eines Master-Slave-Setups. In einem komplexen Galera-Cluster beurteilt sie Master, Slaves, Donors, Joiners sowie Write-Master unterschiedlich und versorgt sie mit den ihren Rollen entsprechenden Daten. Die Analysefähigkeiten des Parsers erlauben außerdem vielseitige Routing-Entscheidungen per Filterregeln auf Basis definierter Algorithmen, abhängig vom Status der Komponenten sowie vom inhaltlichen Kontext der Datenbankanfragen (Hint-based Sharding). Eine MaxScale-Installation kann zudem mehrere Instanzen bereitstellen. Während sie beispielsweise ein kleines Master-Slave-Setup auf einem definierten Port als Proxy bedient, versorgt sie auf einem anderen einen Galera-Cluster.

Teile und herrsche Die Basisfunktionen des Proxy sind Connection Load Balancing (CLB) und Statement Load Balancing (SLB). An einem Beispiel zeigt dieser Artikel das Installieren eines SLB-Setups unter Einsatz des Read-Write-Splitting-Moduls. Hat man das GitHub-Repository ausgecheckt, dient die Datei maxscale_template.cnf als Vorlage für die Konfigurationsdatei maxscale.cnf (befand sich bis zur Version 1.1 unter Fedora in /usr/local/mariadb-maxscale/etc). Die Konfigurationsdatei hat mehrere Sektionen, die jeweils ein Marker in eckigen Klammern einleitet, beispielsweise die globale Sektion [maxscale]. Beim Parameter threads empfiehlt der Hersteller, zunächst mit einem Thread zu starten und erst bei unzureichendem Tempo weitere hinzuzufügen. Das kann jederzeit durch ein reload config zur Laufzeit passieren. MaxScale besitzt bereits ein effizient ar133


PRAXIS | DATENBANKEN

beitendes Threading – unnötige Threads verbessern die Performance nicht, belegen jedoch zusätzliche Ressourcen. In der Beispiel-Konfigurationsdatei /usr /local/mariadb-maxscale/etc/maxscale. cnf (siehe Listingˇ1) folgt auf die ThreadZahl die Sektion [MySQL Monitor] mit den zu überwachenden Servern und da-

zu benötigten Anmeldedaten. In [RW Split Router] wird das oben erwähnte Read-Write-Splitting-Modul initiiert, in [Debug Interface] definiert man eine Schnittstelle für Debugging und Administration, [RW Split Listener] richtet den lokalen Dienst ein, auf dem der Proxy die Client-Anfragen entgegennimmt (in

Listing 1: Die zentrale Konfigurationsdatei maxscale.cnf [maxscale] threads=1

[CLI Listener] type=listener service=CLI Service protocol=maxscaled address=localhost port=6603

[MySQL Monitor] type=monitor module=mysqlmon servers=srv1,srv2,srv3 user=monitor passwd=***

[Debug Listener] type=listener service=Debug Interface protocol=telnetd port=4442

[RW Split Router] type=service router=readwritesplit servers=srv1,srv2,srv3 user=maxscaleuser passwd=***

[srv1] type=server address=10.0.0.200 port=3306 protocol=MySQLBackend

[Debug Interface] type=service router=debugcli

[srv2] type=server address=10.0.0.201 port=3306 protocol=MySQLBackend

[RW Split Listener] type=listener service=RW Split Router protocol=MySQLClient port=3366 address=10.0.0.100

[srv3] type=server address=10.0.0.202 port=3306 protocol=MySQLBackend

[CLI Service] type=service router=cli

diesem Fall auf Port 3366). Schließlich enthalten die Sektionen [srvN] die involvierten Server, hier einen Master und zwei Slaves. Vor dem ersten Start von MaxScale sind zwei Benutzer pro Server für das Monitoring und den Read-Write-SplitRouter einzurichten. Ein erster Test kann (Sicherheitsaspekte außer Acht gelassen) so aussehen: mysql> create user maxscaleuser identified — by '***'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on *.* to maxscaleuser@’%’; Query OK, 0 rows affected (0.00 sec) mysql> create user monitor identified by '***'; Query OK, 0 rows affected (0.00 sec) mysql> grant replication client on *.* to — monitor@’%’; Query OK, 0 rows affected (0.00 sec)

Der Proxy speichert Passwörter beim Zugriff auf die Datenbankserver in der Konfigurationsdatei. Die Programme maxkeys und maxpasswd verschlüsseln sie für mehr Sicherheit, sodass in /etc/maxscale.cnf keine Passwörter mehr im Klartext stehen: maxkeys /var/lib/maxscale

Das Kommando schreibt nach der Installation einen Encryption Key in die Datei /var/lib/maxscale/.secret. Ein maxpasswd /var/lib/maxscale/ maxscaleuser

Listing 2: Status des Setups (Server und Dienste) MaxScale> list servers Servers. ––––––––--+–––––––----------+––-----+––––------–--+––––––––––------Server | Address | Port | Connections | Status ––––––––--+–––––––----------+–---–--+––––------–--+–––––––––-------– srv1 | 10.0.0.200 | 3306 | 22 | Master, Running srv2 | 10.0.0.201 | 3306 | 0 | Slave, Running srv3 | 10.0.0.202 | 3306 | 129 | Slave, Running ––––––––--+–––––––----------+––-----+–––––--------+––––––––-------–– MaxScale> show servers Server 0x21a36a0 (srv1) Server: Status: Protocol: Port: Server Version: Node Id: Master Id: Slave Ids: Repl Depth: Number of connections: Current no. of conns: Current no. of operations: Server 0x2100830 (srv2) Server: Status: Protocol: Port: Server Version: Node Id: Master Id: Slave Ids: Repl Depth: Number of connections: Current no. of conns: Current no. of operations: Server 0x2100720 (srv3) Server: Status: Protocol: Port: Server Version: Node Id: Master Id:

134

10.0.0.200 Master, Running MySQLBackend 3306 5.6.24-log 3 -1 2, 1 0 7768 22 20 10.0.0.201 Slave, Running MySQLBackend 3306 5.6.24-log 2 3 1 0 0 0 10.0.0.202 Slave, Running MySQLBackend 3306 5.6.24-log 1 3

Slave Ids: Repl Depth: Number of connections: Current no. of conns: Current no. of operations:

1 7808 129 0

MaxScale> list services Services. –––––––––––––---+–––––––––––------+–––----–+––––––----------Service Name | Router Module | #Users | Total Sessions ––––––––––––---–+–––––––––––------+–––----–+––––––----------RW Split Router | readwritesplit | 7 | 7770 Debug Interface | debugcli | 2 | 10 –––––––––––––---+––––––––––------–+––----––+––––––----------MaxScale> show services Service 0x21a4070 Service: RW Split Router Router: readwritesplit (0x7fcc150b3440) State: Started Number of router sessions: 7768 Current no. of router sessions: 0 Number of queries forwarded: 88378 Number of queries forwarded to master: 51487 Number of queries forwarded to slave: 36891 Number of queries forwarded to all: 7337 Started: Mon May 4 19:03:07 2015 Root user access: Disabled Backend databases 10.0.0.200:3306 Protocol: MySQLBackend 10.0.0.201:3306 Protocol: MySQLBackend 10.0.0.202:3306 Protocol: MySQLBackend Users data: 0x2761380 Total connections: 7770 Currently connected: -77 Service 0x21a3790 Service: Debug Interface Router: debugcli (0x7fcc152c6400) State: Started Started: Mon May 4 19:03:07 2015 Root user access: Disabled Backend databases Users data: 0x21a3420 Total connections: 12 Currently connected: 2

iX 9/2015


erzeugt einen hexadezimalen String, den man in der Konfigurationsdatei anstelle des Klartextpassworts nach dem Parameter password= des Benutzers „maxscaleuser“ einsetzt.

Listing 3: Konfiguration des Bin-Log-Servers

Verwalten per Kommandozeile

user=replicant passwd=*** version_string=5.6.24-log

Im Test kamen drei Rechner mit CentOS 6.6 und MySQL 5.6.24-log (aus dem Community-Repository) zum Einsatz, dazu für den Proxy-Host Fedora 21 mit einer Installation aus dem MaxScale-Repository. Version 1.2 des Proxy liefert zudem für systemd taugliche Startskripte, sodass man ihn auf die übliche Weise mit start und stop steuern kann. Das System erreicht man auf der Kommandozeile mit dem mächtigen Werkzeug maxadmin, das man interaktiv bedient oder per Skript steuert: [timo@soyuz ~]$ maxadmin Password: *** MaxScale>

Standardmäßig sind beim Anmelden der Nutzer admin und das Passwort mariadb voreingestellt. Man sollte das ändern und einen neuen Benutzer mit add user <benutzername> <passwort> einrichten. Zunächst empfiehlt es sich, im TestSetup etwas Client-Last zu simulieren: mysqlslap -a -u timo -h 10.0.0.100 -P 3366 — -p --create-schema=slap1 -c64 --iterations=10

Anschließend zeigen die Befehle list servers, show servers, list services und show services im Management-Interface den aktuellen Status des Setups (Listingˇ2). Der Server srv2 mit der IP-Adresse 10.0.0.201 läuft als Slave, wird jedoch nicht zum Lesen genutzt („Current no. of conns“ ist null). Nimmt man den aktiven Slave (srv3, 10.0.0.202) durch Herunterfahren der MySQL-Instanz außer Betrieb, stellt MaxScale die neue Situation umgehend fest und leitet Leseanfragen an den anderen Slave, wie ein erneutes list servers zeigt: srv1 srv2 srv3

10.0.0.200 Master, Running 10.0.0.201 Slave, Running 10.0.0.202 Down

Ebenso reibungslos nimmt man das System (zum Beispiel nach Wartungsarbeiten) wieder in Betrieb: Hat sich MaxScale erneut mit der Datenbankinstanz verbunden, erscheint die Maschine mit dem Status Running in der Liste. Hat der Proxy zudem überprüft, dass das System ordnungsgemäß als Slave läuft und nicht uneinholbar hinter den Master zuiX 9/2015

[maxscale] threads=4

protocol=MySQLClient port=3306

[Binlog_Service] type=service router=binlogrouter servers=master

[Debug Service] type=service router=debugcli

router_options=server-id=3,user=replicant, password=***,filestem=binlog [master] type=server address=10.0.0.200 port=3306 protocol=MySQLBackend [Binlog Listener] type=listener service=Binlog_Service

rückgefallen ist, lautet der Status Slave, Running. Den Rückstand der Slaves zum Master überwacht die Option detect_replication_ lag. Sie nimmt zu weit zurückgefallene automatisch aus dem Routing, standardmäßig ist sie jedoch ausgeschaltet. Mit der Option max_slave_replication_lag setzt der Administrator einen Zeitraum in Sekunden, den ein Slave höchstens hinter dem Master liegen darf, um noch als einsatzbereit zu gelten. Überschreitet der Slave den Schwellwert, verliert er seinen Status und erhält (vorerst) keine Lesezugriffe. Auf diese Weise enthalten Clients keine gegenüber dem Master veralteten Daten, was etwa für Shopsysteme (Lagerhaltung) kritisch ist. Im Beispiel-Setup können Applikationen mithilfe des Proxy skalieren, ohne Kenntnis von dessen Verteilung der Datenbankzugriffe zu haben: Der Master arbeitet die Schreibzugriffe ab, während Slaves die Lesezugriffe abfangen und so das Gesamtsystem entlasten. Beim Verteilen der Lesezugriffe auf mehrere Slaves sollen künftige Versionen von MaxScale weiteres Feintuning bieten.

Schlanker Ersatz für den Zwischenmeister In größeren Installationen, die bereits mehrstufige Skalierungen hinter sich haben, versorgen Master mitunter mehrere Dutzend Slaves, auf die sämtliche Applikationen lesend zugreifen. Dieser Ansatz skaliert jedoch nicht dauerhaft, weil er die Netzverbindungen zu den Slaves überlastet und Lastspitzen den Master beim Erledigen der Schreibzugriffe ausbremsen. Deshalb greifen viele Administratoren zu einem Intermediate-Master-Server, der

[Debug Listener] type=listener service=Debug Service protocol=telnetd address=localhost port=4442 [CLI Service] type=service router=cli [CLI Listener] type=listener service=CLI Service protocol=maxscaled address=localhost port=6603

als einzelner Slave am eigentlichen Master hängt und seinerseits die zuvor vom Master direkt versorgten Slaves bedient. Das nimmt die Last vom Master, steigert jedoch leider durch die zusätzliche Instanz die Verzögerung, mit der Daten auf den Slaves ankommen, was den Sinn von Read-only-Slaves je nach Diskrepanz zur Wirkdatenbank ad absurdum führt. Zudem kann im Fall eines Crashs dieses Systems die Wiederinbetriebnahme der Slaves gegen einen anderen Intermediate Master eine hakelige Angelegenheit sein, weil dieser nicht zwangsläufig über den gleichen Verarbeitungsstand im Bin-Log verfügt. Setzt man MaxScale als Bin-Log-Server ein, umgeht man einige dieser Widrigkeiten. Die Software lädt das Bin-Log vom Master, erscheint diesem gegenüber wie ein normaler Slave und speichert es unverändert – im Gegensatz zum Intermediate Master, der ein eigenes Bin-Log produziert, mit dem er seinerseits die ihm folgenden Slaves versorgt. Für die Slaves, die gegen MaxScale als Bin-LogServer laufen, scheinen die Logs vom eigentlichen Master-Server zu kommen. Das eliminiert jegliches „Lagging“ sowie die Schwierigkeiten bei der Wiederinbetriebnahme nach dem Crash eines Intermediate Masters. Eine einfach strukturierte Konfiguration erweitert das zuvor eingeführte Setup um einen Bin-Log-Server (Listingˇ3). Eine gute Vorlage dafür findet sich in der Datei MaxScale_BinlogServer_template. cnf im Verzeichnis /usr/local/mariadbmaxscale/etc/. Nach dem Start des Proxy mit dieser Konfiguration gibt es in dessen Heimatverzeichnis ein neues Unterverzeichnis Binlog_Service, das die vom Master bezogenen Bin-Logs enthält. Statusinformationen zeigen list listeners oder die schon be135


PRAXIS | DATENBANKEN

kannten show servers und show services auf der Kommandozeile (siehe Listingˇ4).

GRANT-Statements. Eine beispielhafte Filterkonfiguration: [DBFirewall] type=filter module=dbfwfilter rules=/etc/maxscale.d/fwrules.txt

Eine Firewall für SQL-Anfragen Es folgen einige Beispiele für „Top N Logging“, Sharding und das von MaxScale ebenfalls bereitgestellte Firewalling. Wie bei Firewalls üblich, legt der Administrator ein Regelwerk fest und speichert es in einer Datei, auf die maxscale.cnf verweist. Die Filterregeln bestimmen die zu blockierenden Anfragen – greift keine Regel, reicht die Software die Anfrage demnach an die Datenbankserver weiter. Blockiert werden können so unerwünschte oder schädliche Queries (etwa ein SQL-Injection-Angriff), außerdem regelt man den Zugriff auf die Datenbank genauer als mit deren

[Firewalled Routing Service] type=service router=readconnrouter servers=srv1,srv2,srv3 user=maxscaleuser passwd= * filters=DBFirewall

Die Datei /etc/maxscale.d/fwrules.txt enthält die anzuwendenden Regeln, die beispielsweise alle Queries blockieren, die ein Wildcard-Zeichen („*“) enthalten. Sie können den Zugriff auf einzelne Spalten (columns) verwehren, die Zahl der Queries in einem bestimmten Zeitraum begrenzen, reguläre Ausdrücke verwenden und Queries auf bestimmte Benutzer beschränken. Das Anwenden der Regeln

Listing 4: Informationen zum Bin-Log-Server MaxScale> list listeners Listeners. –––––––––------+–––––––––----------–+–––––––----------+––-----+––---–– Service Name | Protocol Module | Address | Port | State –––––––––------+–––––––––----------–+–––––––----------+––-----+–––---– Binlog_Service | MySQLClient | * | 3306 |Running Debug Service | telnetd | localhost | 4442 |Running CLI Service | maxscaled | localhost | 6603 |Running –––––––––------+–––––––––----------–+–––––––----------+––-----+––---–– MaxScale> show servers Server 0x364b3a0 (master) Server: Status: Protocol: Port: Node Id: Master Id: Repl Depth: Number of connections: Current no. of conns: Current no. of operations:

10.0.0.200 Running MySQLBackend 3306 -1 -1 -1 1 1 0

MaxScale> show services Service 0x364b4b0 Service: Binlog_Service Router: binlogrouter (0x7f72282e7480) State: Started Master connection DCB: 0x364cc90 Master connection state: Binlog Dump Binlog directory: /usr/local/mariadb-maxscale/Binlog_Service Number of master connects: 1 Number of delayed reconnects: 0 Current binlog file: binlog.000003 Current binlog position: 3902 Number of slave servers: 0 No. of binlog events received this session: 4 Total no. of binlog events received: 8 No. of bad CRC received from master: 0 Number of binlog events per minute Current 5 10 15 30 Min Avg 0 0.0 0.0 0.0 0.0 Number of fake binlog events: 1 Number of artificial binlog events: 1 Number of binlog events in error: 0 Number of binlog rotate events: 0 Number of heartbeat events: 0 Number of packets received: 17 Number of residual data packets: 0 Average events per packet 0.5 Last event from master at: Mon May 4 20:57:53 2015 (36 seconds ago) Last event from master: 0x2, Query Event Last binlog event timestamp: 1430747856 (Mon May 4 15:57:36 2015 ) Events received: Invalid 0 Start Event V3 0 Query Event 1 [...]

136

lässt sich zudem zeitlich beschränken, um etwa während Phasen mit Lastspitzen rechenintensive Anfragen aus der BusinessIntelligence-Abteilung zu unterbinden. Lediglich zwei Zeilen beschränken bekannte rechenintensive Anfragen (Rate Limiting): rule anfragen_limitieren deny — limit_queries 25 10 20 rule query_regex deny regex — .*select.*from.*bestellungen.*’

Sobald mehr als 25 Anfragen innerhalb von 10 Sekunden auf die Tabelle „Bestellungen“ eingehen, blockiert das System alle weiteren Anfragen dieser Art für die nächsten 20 Sek. Fällt ein bestimmter Benutzer mit solchen Aktionen auf, kann man das Regelwerk auf ihn beschränken: users biz_intlgc@% match all rules anfragen_ — limitieren query_regex

Mit dem „Top N Logging Filter“ beobachtet MaxScale, wie lange bestimmte Queries laufen – ähnlich dem mit MySQL 5.5 eingeführten Performance-Schema, jedoch serverübergreifend. Meldet etwa die Einkaufsabteilung Schwierigkeiten bei der Pflege des Produktbestands, verschafft folgender Filter einen detaillierten Überblick über die Laufzeiten der Queries auf diese Tabelle: [TopFilterProdukte] type=filter module=topfilter count=20 match=UPDATE.*PRODUKTE.*WHERE filebase=/var/logs/mysql_top_n/ProdukteUpdate [Service] type=service router=readconnrouter servers=srv1 user=maxscaleuser passwd= * filters=TopFilterProdukte

Listing 5: Schema-based Sharding [zweigstelle_ost] type=server address=10.0.23.23 port=3306 [zweigstelle_nord] type=server address=10.1.11.24 port=3306 [Shard Zweigstellen] type=service router=schemarouter servers=zweigstelle_ost,zweigstelle_nord user=sharded_srv passwd=*** [Sharded Service Listener] type=listener service=Shard Zweigstellen protocol=MySQLClient port=4000 [MySQL Monitor] type=monitor module=mysqlmon servers=zweigstelle_ost,zweigstelle_nord user=monitor42 passwd=*** monitor_interval=1000

iX 9/2015


In die Textdatei /var/logs/mysql_top_n/ ProdukteUpdate trägt MaxScale die 20 am längsten laufenden Anfragen per UPDATE auf die Tabelle „Produkte“ ein. Die Datenbank führt neben den Queries auch deren Laufzeit an. Mit dem Werkzeug maxadmin verfolgt man solche Zugriffe sogar in Echtzeit: show filter TopFilterProdukte bestimmt den Descriptor Control Block (DCB) der auf diesen Filter aufsetzenden Session. Anschließend zeigt show session <DCB> Details zu den Queries, die zusätzlich in der erzeugten Logdatei stehen.

Geteilte Tabellen verteilen die Last MaxScale hilft zudem beim horizontalen Teilen von Tabellen über mehrere Systeme, dem Schema-based Sharding: Die Zweigstellen Nord und Ost eines Unternehmens beispielsweise besitzen eigene Datenbankserver, Clients sollen diese jedoch als einen logischen ansprechen. Während der konfigurierte Service die Anfragen der Clients entsprechend verteilt, überwacht der Monitordienst die

iX 9/2015

Verfügbarkeit beider Server (siehe Listingˇ5). Wer historisch gewachsene Anwendungen (Legacy-Applikationen) weiter pflegen muss, jedoch die zugehörigen veralteten Datenbankserver nicht weiter betreiben will, kann mit dem Feature Query transformation Anfragen für zeitgemäße Datenbankversionen umschreiben, die andernfalls solchen Uralt-Clients nicht mehr antworten. Der Anwendungscode muss dafür nicht verändert werden. Bis MySQL 5.1 konnte man mit der Anweisung TYPE die zu nutzende Storage Engine bestimmen, während spätere Versionen dafür ENGINE verlangen. Mit dem Modul regexfilter kann der Administrator Kompatibilität wahren: [LegacyEngineFilter] type=filter module=regexfilter options=ignorecase match=TYPE[ ]*= replace=ENGINE= [MyService] type=service router=readconnrouter servers=server1 user=pita_app passwd= * filters=LegacyEngineFilter

Fazit Mit MaxScale bringt das Unternehmen MariaDB einen durchdachten, vielseitigen Proxy für MySQL und die weitgehend kompatible hauseigene MariaDB sowie künftig womöglich weitere Datenbanken heraus. Damit betreibt man moderne, hochskalierbare Datenbanklandschaften, sogar wenn eine Legacy-Applikation mit deren Ansteuerung überfordert wäre: Der Proxy als Mittelsmann kaschiert die Komplexität. Weitere nützliche Features runden das Bild ab und erleichtern Administratoren und Entwicklern den täglichen Betrieb auf vielen Ebenen, sei es durch das Bereitstellen von Rolling Releases oder das unterbrechungsfreie Aufbauen einer neuen Serverlandschaft. (tiw)

Timo Schöler arbeitet als Senior System Administrator bei der Inter.net Germany GmbH in Berlin. Alle Links: www.ix.de/ix1509132

137


PRAXIS | BUILD-SYSTEM

CMake-Tutorial, Teil 2: Erweiterungen mit der Skriptsprache

Entwickler damit CMake leicht um neue anwendungsspezifische Funktionen erweitern können – ohne die Skriptsprache wäre das deutlich schwieriger. Auf der Negativseite steht allerdings, dass sich kein Entwickler wünscht, „yet another language“ zu lernen, wenn es nicht unbedingt sein muss; zumal sich diese konkrete Sprache ausschließlich für das Build-System nutzen lässt. Man könnte hier die Frage stellen, warum CMake nicht einfach auf einer der „General-Purpose“-Sprachen aufsetzt – Python und Ruby kommen hier sofort in den Sinn. Dies hätte den Nebeneffekt, dass ein Entwickler mit einfachen Mitteln viel komplexere Umgebungen jenseits reiner lokaler Build-Systeme aufbauen könnte. Man denke an eine „Remote-BuildUmgebung“ als Webservice, ohne dass die CMake-Entwickler irgendeine Funktion dazu beisteuern müssten.

Nach- und Vorteile der Skriptsprache

Eigene Wege verfolgen Rüdiger Berlich Nachdem der erste Teil des CMake-Tutorials in das BuildSystem eingeführt hat, soll dieser zweite Artikel zeigen, wie man eigene Module in der CMake-eigenen Skriptsprache realisieren kann.

D

er erste Teil dieses Tutorials [1] hat die Grundlagen des CMake-BuildSystems erläutert. Als Einstieg diente die Applikation OAInkubator, die, bestehend aus einer dynamischen Bibliothek und einem Hautprogramm, eine Art Inkubator für neue Algorithmen der Optimierungsumgebung Geneva bereitstellen sollte. (Für Quellen im Web siehe „Alle Links“ am Ende des Artikels.) Dieses Bei138

spiel soll der vorliegende Artikel weiter ausbauen. Ziel ist das Erstellen eines eigenen Moduls, mit dem sich aus CMake heraus die dynamische inkubator-Bibliothek im System lokalisieren lässt. Um dem Leser auch das Erstellen komplexerer Module zu ermöglichen, geht dieser zweite Tutorialteil jedoch zunächst ausführlich auf die zu CMake gehörende Skriptsprache ein. Deren Vorteil ist, dass

Etwas abgeschwächt wird diese Kritik durch die Tatsache, dass die CMake-Sprache an sich trotz einiger Kuriositäten recht einfach ist. Die eigentlichen Funktionen, und damit die Komplexität, liegen eher in den mitgelieferten „Bibliotheken“ (oft sind das einfach Skripte). Und auch in einer auf Python basierenden Build-Umgebung müsste man die Angebote eines CMakeÄquivalents erst einmal kennenlernen. Ein weiteres Argument für die Verwendung der CMake-Sprache ist, dass das BuildSystem fast ohne externe Abhängigkeiten auskommt, was das Portieren auf neue Plattformen vereinfacht. Eine auf einer der etablierten Skriptsprachen aufbauende Build-Umgebung hingegen müsste immer die Installation derselben (samt allen benötigten Bibliotheken) voraussetzen. Die Verbreitung von CMake auf den unterschiedlichen Plattformen könnte insofern als Argument für die getroffenen Design-Entscheidungen gelten. Den Eindruck einer „gewachsenen“ Software wird man gleichwohl bei der Arbeit mit CMake nie ganz los. Ein etwas komplexeres „Hello-WorldSkript“ soll in die Sprache einführen (siehe Listingˇ1). Hier zeigen sich gleich drei einfache Eigenschaften (einige DeListing 1: Hello World # cmake_minimum_required(VERSION 3.0) # project(CMake2_1) set(world World) message("Hello ${world}")

iX 9/2015


Listing 2: Ausgabe von cmake $ cmake .. -- The C compiler identification is AppleClang 6.1.0.6020053 -- The CXX compiler identification is AppleClang 6.1.0.6020053 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done Hello World -- Configuring done -- Generating done -- Build files have been written to: /Users/iX/Projects/CMake2-1/build

Listing 3: Rechenvorgang mit math()

Listing 4: Vergleich der Versionsnummern

cmake_minimum_required(VERSION 3.0) # project(CMake2_1) # set(world World) math (EXPR world "2*3*(2+5)") message("Hello ${world}")

if("${CMAKE_VERSION}" VERSION_GREATER "3.2") message("We have a brand-new version of CMake: ${CMAKE_VERSION}") else() message("This looks like a very old version") endif()

tails hat bereits der erste Tutorialteil erläutert): –ˇKommentare lassen sich mit einem einfachen Rautenzeichen entweder zu Beginn der Zeile oder aber nach dem Programmcode einleiten. Im Beispiel ist die eigentlich übliche Angabe des Projektnamens sowie der minimalen CMake-Version aus didaktischen Gründen auskommentiert. –ˇVariablen (und mit demselben Befehl auch Listen) kann der Programmierer mit set zuweisen. Hier wurde der Variablen world (kleingeschrieben) der Wert World (großgeschrieben) zugewiesen. Schließlich gibt das Skript den obligatorischen Willkommensgruß „Hello World“ aus. Dabei mischt es die direkte Textausgabe mittels message mit dem Auslesen der Variablen world per ${}. Führt man (im Beispiel unter Mac OSˇX Yosemite) mit dem Kommando cmake /pfad/zur/CMakeLists.txt das Skript aus, erhält man die vielleicht längste Ausgabe eines „Hello-World“-Programms in der Geschichte der Softwaretechnik (Listingˇ2).

Der Aufruf sollte aus einem eigenen Build-Verzeichnis heraus erfolgen, denn auch dieses einfache Skript erzeugt eine Vielzahl an Dateien, darunter CMakeCache.txt (vgl. hierzu den ersten Teil des Tutorials). Sichtbar ist die Ausrichtung von CMake auf Build-Prozesse und hierbei insbesondere auf solche rund um die Programmiersprachen C und C++. Denn der Hauptteil der Ausgabe liefert Feedback zu Background-Checks, insbesondere zu den verfügbaren Compilern der C-Familie. Das „Hello World“ versteckt sich in der viertletzten Zeile.

Willkommensgruß mit Eigenschaften Wie gewünscht gibt das Skript den Inhalt der Variablen world als „World“ aus. CMake unterscheidet nicht zwischen Typen, sondern interpretiert Ausdrücke rein textuell. Enthielte das Skript statt set(world World) die Zeile set(world 41+1), hätte CMake mit „Hello 41+1“ geantwortet. Will jemand tatsächlich

-TRACT ⚫ Das plattformunabhängige Build-System CMake hat eine eigene Skriptsprache, mit der Entwickler Erweiterungen schreiben können, zum Beispiel eigene Suchmodule. ⚫ Die Syntax der Sprache ist relativ einfach, allerdings gibt es einige Inkonsistenzen, die zur Fehlerquelle werden können. ⚫ Zwar ist sie zunächst gewöhnungsbedürftig, dennoch erlaubt es die CMake-Sprache nach einer kurzen Einarbeitungszeit, mit wenig Aufwand selbst komplexe Szenarien abzubilden.

iX 9/2015

einen Rechenvorgang ausführen lassen (was bei Build-Systemen eher unwahrscheinlich ist), muss er auf eins der eingebauten Kommandos zurückgreifen (Listingˇ3). Mit math() kann dieses Skript der Variablen world den Wert 42 zuweisen, der das Ergebnis einer Berechnung ist. Die Ausgabe „Hello World“ mutiert in diesem Fall zu „Hello 42“. Das Inkrementieren einer Variablen myVar würde mit einem Ausdruck der Form set(myVar 1) math (EXPR myVar "${myVar} + 1")

funktionieren. Allerdings erlaubt math() nur einfache Operationen wie Addition, Subtraktion, (Integer-)Division oder Multiplikation. Dividiert man den Ausdruck aus Listingˇ3 etwa durch 43, erhält man 0.

Manchmal statt immer oder nie Auffällig ist auch, dass – anders als in CMake üblich – EXPR unbedingt großgeschrieben werden muss. Dasselbe gilt zum Beispiel für math() nicht, das CMake-Skript funktioniert identisch mit MATH() oder mAtH(). Hier verhält sich die Skriptsprache bereits – wie leider an vielen Stellen – uneinheitlich: Man wünscht sich entweder immer ein casesensitives Verhalten oder nie, aber nicht manchmal. Übrigens beschwert sich die für diesen Artikel verwendete Version 3.2.2 bei dem Skript aus Listingˇ3 in einer Warnung auch noch, wenn cmake_minimum_required auskommentiert wird; bei dem einfacheren Skript aus Listingˇ1 er139


PRAXIS | BUILD-SYSTEM

scheint diese Warnung hingegen seltsamerweise nicht. Sinnvoller als das Rechnen mit (Integer-)Zahlen in einem Build-System ist der Vergleich von Versionsnummern. So könnte man etwa die Funktion des Skripts je nach der verwendeten CMakeVersion wie in Listingˇ4 anpassen. Die verwendete Version 3.2.2 ist neuer als CMake 3.2 (bei der das System implizit eine 0 für eine Patch-Version annimmt), sodass das Skript brav mit „We have a brand-new version of CMake: 3.2.2“ antwortet. Bei ${CMAKE_VERSION} hätten die Anführungszeichen entfallen können, und sogar das ${} ist an dieser Stelle optional. Wer diese Vielfalt als Vorteil begreift, sollte bedenken, dass sie auch eine Quelle schwer zu findender Fehler sein kann. Denn äquivalent sind diese Ausdrücke nur, wenn der Variablenname wirklich existiert. Hat man sich vertippt und zum Beispiel CMAKE_VERSIN (ohne O) geschrieben, wird CMake in manchen Situationen klaglos darüber hinweggehen und „This looks like a very old version“ ausgeben. Dafür funktioniert der Versionsvergleich auch für andere Pakete, etwa für Boost – über die in FindBoost.cmake im Fall einer erfolgreichen Suche definierte Variable Boost_VERSION. Sinnvoller als eine eigene if-Abfrage für den Versionscheck von Boost wäre es nebenbei bemerkt, bei der Suche nach Boost die benötigte minimale Version mitzugeben. Die folgenden Zeilen etwa fordern mindestens die Version 1.57 (zu find_package siehe auch den ersten Artikel): find_package( Boost 1.57 REQUIRED COMPONENTS random date_time )

Bei der if-Abfrage in Listingˇ4 fällt die etwas sperrige Syntax auf, die die runden Klammern sowohl bei else() als auch

bei endif() wiederholt. In älteren CMakeSkripten sowie an manchen Stellen der Online-Dokumentation findet man noch die früher obligatorische wörtliche Wiederholung der Bedingung bei else() und endif(). Diese Notwendigkeit besteht heute glücklicherweise nicht mehr. Viele Spezialfälle von if ermöglichen noch das Prüfen spezifischer Bedingungen. So kann man etwa mit if(DEFINED variable) testen, ob eine Variable variable definiert ist (Listingˇ5).

Dynamik auf der Kommandozeile Dies kann etwa dann sinnvoll sein, wenn man dem cmake-Kommando auf der Kommandozeile ein -DmyCommandLineVar=someValue mitgibt. So lässt sich das Verhalten der CMake-Skripte dynamisch steuern. Nützlich ist auch die Möglichkeit, Strings mittels regulärer Ausdrücke zu analysieren: if(${world} MATCHES "^Hello" OR ${world} MATCHES "World$") message("\"${world}\" starts with Hello or ends with World") endif()

Diese Zeilen untersuchen die Variable world aus Listingˇ1 daraufhin, ob sie mit Hello beginnt oder (gemeint ist das schwache, nicht das exklusive „oder“) mit World endet (was der Fall ist). Gleichzeitig zeigt das Beispiel, wie man Anführungszeichen maskiert (escape). AND statt OR hätte dazu geführt, dass die Bedingung nicht zutrifft; die Variable world enthält nur das Wort World. Weitere Bedingungen kann der Programmierer der if-Abfrage über elseif(BEDINGUNG2) hinzufügen, die Negation einer Bedingung funktioniert über das Schlüsselwort NOT. Für weitere Infos zur if-Abfrage siehe die CMake-Dokumentation in „Alle Links“.

Listing 5: Test, ob die Variable definiert ist if(DEFINED myCommandLineVar) message("myCommandLineVar is defined and has the value ${myCommandLineVar}") else() message("myCommandLineVar is not defined") endif()

Listing 6: Iterieren mit foreach()

Listing 7: while()-Schleife

set(someList1 one two three ) set(someList2 four five ) foreach(it IN LISTS someList1 someList2) message("List-entry is ${it}") endforeach()

set(counter 0) while(${counter} LESS 5) message("Got counter = ${counter}") math (EXPR counter "${counter} + 1") endwhile()

140

Bevor sich der Artikel Makros und Funktionen widmet, stellt er noch kurz zwei weitere Kontrollstrukturen vor: foreach() und while(). Mit ersterer kann man wie in Listingˇ6 über Listen iterieren. Hier verläuft die Schleife direkt über die zwei Listen someList1 und someList2 und hat die erwartete Ausgabe. Im Vergleich zu foreach() durchläuft while() seine Schleife, bis eine Bedingung erfüllt ist (Listingˇ7). Hier wird zunächst eine Zählvariable initialisiert und dann in while() daraufhin überprüft, ob sie kleiner alsˇ5 ist. Mit der bereits besprochenen Technik wird die Variable inkrementiert, sodass nacheinander die Zahlen 0 bisˇ4 ausgegeben werden. Wieder hätte man die Bedingung in while() auch mit Anführungszeichen schreiben können. CMake kennt auf Sprachebene nur Strings (die es in speziellen Fällen wie ON, YES, TRUE oder OFF, NO, FALSE und IGNORE als boolesche Ausdrücke interpretiert, wenn man es genau nimmt). Die folgende Eigenheit des set-Befehls ist der Schlüssel zum Verständnis der weiteren Ausführungen. Der Zusammenhang mit Strings erschließt sich erst in der Diskussion von Makros und Funktionen weiter unten: # You can set a variable # through its string representation set(foo bar) set(${foo} 1) message("The variable bar has the value ${bar}")

Weist man der Variablen foo also zunächst den Wert bar zu, kann man eine Variable bar erzeugen, indem man in set den Wert der Variablen foo abfragt und ihn wie eine Variable behandelt. set(${foo} 1) ist also äquivalent zu set(bar 1), weil foo den Wert bar hat. Nebenbei bemerkt resultiert auch die folgende Zuweisung in der für diesen Artikel verwendeten Version 3.2.2 von CMake nicht in den hier eigentlich zu erwartenden seitenweisen Fehlermeldungen. Stattdessen hat CMake einfach eine neue Variable xyz erzeugt: set("xyz" "XYZ") message("Great, we now have a variable — \"xyz\" with value ${xyz}")

Und nein, das ist wirklich kein Bug, sondern Teil des Konzepts.

Änderungen in Makros und Funktionen Mit den bislang besprochenen Kontrollstrukturen lassen sich bereits recht komplexe Build-Szenarien beschreiben. WirkiX 9/2015


Listing 8: einfaches Makro

Listing 10: einfache Funktion

set(myVar0 "XYZ") set(myVar1 "123") set(myVar2 "789") message("") message("Before macro call:") message("Got myVar0 / arg0 = ${myVar0}") message("Got myVar1 = ${myVar1}") macro(SomeMacro arg0) message("In SomeMacro:") message("** Got arg0 = ${arg0}") message("** Trying to change arg0 to \"abc\" in two different ways:") set(${arg0} "abc") message("** Got arg0 = ${arg0}") set(arg0 "abc") message("** Got arg0 = ${arg0}") message("** Can access myVar1 = ${myVar1} from outer scope") endmacro() message("-- Calling SomeMacro --") SomeMacro(${myVar0}) message("After macro call:") message("Got myVar0 (was arg0) = ${myVar0}") message("But we DO have a new variable \"XYZ\" with value ${XYZ}"

message("Before function call:") message("Got myVar0 / arg0 = ${myVar0}") message("Got myVar1 / arg1 = ${myVar1}") message("Got myVar2 = ${myVar2}") function(SomeFunction arg0 arg1) message("In SomeFunction:") message("** Got arg0 = ${arg0}") # message("** Got arg1 = ${arg1}") message("** Changing arg0 to \"abc\"") set(arg0 "abc") message("** Now got arg0 = ${arg0}") message("** Changing arg1 to 456 in PARENT_SCOPE") set(${arg1} "456" PARENT_SCOPE) message("** Now got arg1 = ${arg1} (unchanged in the function scope!)") message("** Can access myVar2 = ${myVar2} from outer scope") endfunction() message("-- Calling SomeFunction --") SomeFunction(${myVar0} "myVar1") message("Got myVar0 = ${myVar0}") message("Got myVar1 = ${myVar1}") message("Got myVar2 = ${myVar2} (unchanged, of course)")

Listing 11: Ausgabe von Listing 10 Listing 9: Ausgabe von Listing 8 Before macro call: Got myVar0 / arg0 = XYZ Got myVar1 = 123 -- Calling SomeMacro -In SomeMacro: ** Got arg0 = XYZ ** Trying to change arg0 to "abc" in two different ways: ** Got arg0 = XYZ ** Got arg0 = XYZ ** Can access myVar1 = 123 from outer scope After macro call: Got myVar0 (was arg0) = XYZ But we DO have a new variable "XYZ" with value abc

lich sinnvoll wird der Einsatz von CMake aber erst durch das Verwenden von Makros und Funktionen, sodass Entwickler den Code der Build-Skripte nicht nur innerhalb eines, sondern gegebenenfalls in verschiedenen Projekten wiederverwenden können. Beide Varianten haben ihre Eigenheiten. Darum geht es im Folgenden. Listingˇ8 zeigt ein einfaches Makro mit einem Argument. Um das Verhalten zu verdeutlichen, gibt das Beispiel die Werte einiger Variablen vor, während und nach dem Aufruf des Makros an. Ein Makro wird mit dem Schlüsselwort macro eingeleitet, das als Übergabeparameter den Namen des Makros sowie die Namen der Argumente erhält (im vorliegenden Fall ein Argument mit dem willkürlich gewählten Namen arg0). Die resultierende Ausgabe zeigt Listingˇ9. Der Aufruf von SomeMacro erfolgt also korrekt mit dem an arg0 übergebenen Wert XYZ (das ist der Inhalt von myVar0); der Wert kann im Makro gelesen werden. Ein Aufruf mit dem Argument myVar0 statt ${myVar0} hätte stattdessen zur Ausgabe Got arg0 = myVar0 geführt; myVar0 wäre hier nicht automatisch ausgelesen worden. Nachfolgend versuchen zwei setBefehle, den Inhalt von arg0 zu verändern, sind jedoch beide nicht erfolgreich. Ein Makro in CMake entspricht einer textuellen Ersetzung, fast wie in C, und der Wert von myVar0 bleibt vor, während und nach dem Aufruf des Makros unverändert. CMake kann jedoch ohne Weiteres auf Variablen im umgebenden Scope zugreiiX 9/2015

Before function call: Got myVar0 / arg0 = abc Got myVar1 / arg1 = 123 Got myVar2 = 789 -- Calling SomeFunction -In SomeFunction: ** Got arg0 = abc ** Changing arg0 to "abc" ** Now got arg0 = abc ** Changing arg1 to 456 in PARENT_SCOPE ** Now got arg1 = myVar1 (unchanged in the function scope!) ** Can access myVar2 = 789 from outer scope Got myVar0 = abc Got myVar1 = 456 Got myVar2 = 789 (unchanged, of course)

fen, wenn ihre Namen bekannt sind. Dies demonstriert das Makro am Beispiel der Variablen myVar1. Als kleines Schmankerl sei noch darauf hingewiesen, dass der Versuch, arg0 mit set (${arg0} abc) zu beschreiben, im äußeren Scope eine Variable XYZ mit dem Inhalt abc erzeugt hat, da ${arg0} durch XYZ ersetzt wird. Dies entspricht dem weiter oben besprochenen Verhalten. Hier wird deutlich, dass Makros sich den Scope (das heißt den Definitionsbereich von Variablen) mit dem aufrufenden Medium teilen. Hierin liegt der Hauptunterschied zu CMakes Funktionen, wie Listing 10 demonstriert. In der Definition unterscheiden sich Funktionen von Makros in CMake einfach durch den Austausch des Schlüsselworts macro durch function. Listing 10 fragt zunächst die Werte der drei Variablen myVar0, myVar1 und myVar2 ab. Die Funktion SomeFunction erhält die zwei Argumente arg0 und arg1. Die Aus-

Tutorialinhalt Teil 1: Grundlagen des CMake-BuildSystems, erstes einfaches Projekt Teil 2: Einführung in die CMake-Sprache, Erstellen eigener Module und Kontrollmechanismen Teil 3: Mit CMake ausgelieferte Werkzeuge zur Paketierung und zum Testen, Portierung auf weitere Plattformen

gabe des zugehörigen Skriptteils zeigt Listing 11. Anders als beim Makro kann man arg0 nun lokal verändern. Beim Aufrufer wird der Wert aber zunächst nicht modifiziert (was die Ausgabe nach dem Funktionsaufruf zeigt). Ein Rückgabewert der Art someValue = someFunction(${myVar}) ist nicht vorgesehen. Allerdings kann der Programmierer über Funktionsargumente äußere Variablen beeinflussen und so Informationen zurückgeben lassen, wenn auch der hierfür notwendige Mechanismus gewöhnungsbedürftig ist. Um eine Variable verändern zu können, muss ihr Name bekannt sein. Also bekommt die Funktion als arg1 einen String mit dem Namen einer externen Variablen übergeben. Diesen Namen liest die Funktion mit ${arg1} aus. set kann dann der externen Variablen einen Wert zuweisen. Dabei ist die Angabe von PARENT_ SCOPE wichtig, damit der Wert auch im aufrufenden Kontext und nicht nur lokal geändert wird. Will man eine Variable als Rückgabewert einer Funktion nutzen, muss man ihren Namen in sie hineintransportieren, sie also mit einem String aufrufen. Eine geläufige Übersetzung von foo-bar lautet „fucked up beyond all recognition“ (wobei das oo als u interpretiert wird). Wer an CMakes Makros und Funktionen mit den Maßstäben eines C- oder C++-Programmierers herangeht – und an diese richtet sich CMake primär –, dem mag diese Übersetzung hier durch den Kopf gehen. 141


PRAXIS | BUILD-SYSTEM

vergleichsweise einfach, die zwischen Betriebssystemen aber nicht. Im BuildSystem der Geneva-Bibliothek bestimmt die Funktion in Listing 12 das Betriebssystem (Dank an Ariel Garcia).

Listing 12: Betriebssystemparameter bestimmen # Identifies the operating system and version of the host system # FUNCTION ( FIND_HOST_OS GENEVA_OS_NAME_OUT GENEVA_OS_VERSION_OUT ) # Note: CMAKE_SYSTEM_VERSION is the output of 'uname -r', and # CMAKE_SYSTEM_NAME is the output of 'uname -s' on systems that # support it, at least in cmake 3.x # IF(APPLE) EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE DARWIN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) SET(${GENEVA_OS_NAME_OUT} "MacOSX" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "${DARWIN_VERSION}" PARENT_SCOPE) ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Linux") EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE LINUX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) SET(${GENEVA_OS_NAME_OUT} "Linux" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "${LINUX_VERSION}" PARENT_SCOPE) ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE FREEBSD_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) SET(${GENEVA_OS_NAME_OUT} "FreeBSD" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "${FREEBSD_VERSION}" PARENT_SCOPE) ELSEIF(CYGWIN) EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CYGWIN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) SET(${GENEVA_OS_NAME_OUT} "Cygwin" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "${CYGWIN_VERSION}" PARENT_SCOPE) ELSEIF(WIN32) SET(${GENEVA_OS_NAME_OUT} "Windows" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "NT ${CMAKE_SYSTEM_VERSION}" PARENT_SCOPE) ELSE() SET(${GENEVA_OS_NAME_OUT} "unsupported" PARENT_SCOPE) SET(${GENEVA_OS_VERSION_OUT} "unsupported" PARENT_SCOPE) ENDIF() ENDFUNCTION()

Unstrittig dürfte sein, dass die in diesem Abschnitt beschriebenen Eigenarten der CMake-Sprache die Grundlage für viele Fehler in Build-Skripten sein können, zumal man sehr tief in der Dokumentation graben muss, bis man auf diese Informationen stößt. Auch in Online-Foren finden sich hierzu wenig konkrete Informationen. Viel wahrscheinlicher ist dann ein Trial-and-Error-Vorgehen aufseiten des Nutzers, bis es eben „irgendwie“ funktioniert. Schließlich sind nicht die Build-Skripte die Hauptsache, sondern das Programm. Der von CMake eigent-

lich beabsichtigten kompromisslosen Portabilität dürfte das kaum zuträglich sein. Das Ermitteln von Betriebssystemparametern kann ebenfalls Handarbeit erfordern. Zwar gibt es vielfältige Funktionen selbst für feine Details. Prinzipiell kann das aber nicht für jede mögliche Konstellation gelten. So gibt es zwar eine beschränkte Zahl von Compilern, aber zum Beispiel eine schier unüberschaubare Zahl unterschiedlicher Linux- und Unix-Plattformen. Entsprechend gestaltet sich die Unterscheidung zwischen Compilern aus dem Betriebssystem heraus

Die Umgebung sicher erkennen Es gibt also eine Variable APPLE, die gesetzt ist, wenn man sich auf einem Betriebssystem von Apple befindet. Ganz genau ist dies nicht, weil nicht nur Mac OSˇX auf Darwin aufsetzt. Auch liefert die Variable keine Informationen zur Betriebssystemversion, hier kann man sich mit dem Aufruf eines externen Unix-Programms (uname) behelfen. Für andere Plattformen (aber zum Beispiel nicht für Cygwin) hilft die Variable CMAKE_SYSTEM_NAME. Analog zu Apple gibt es für Windows eine Variable WIN32 (interpretiert als Boolean). Sie liefert ebenfalls keine Information zur Version. Ansonsten zeigt Listing 12 die bereits besprochenen Techniken zum Setzen externer Variablen. Der Aufruf von FIND_HOST_OS erfolgt für die Rückgabewerte wie gehabt mit dem in Anführungsstriche eingeschlossenen Namen der Variablen. Wer portabel bleiben will, darf sich nicht (nur) auf eventuell bald vorhandene neue Wege zum Bestimmen des Betriebssystems verlassen, da nicht klar ist, welche Version von CMake auf dem jeweiligen Zielsystem zu erwarten ist. So kennen zwar neuere CMake-Versionen eine Variable CMAKE_CXX_COMPILER _VERSION, aber in den älteren Versionen gibt es sie nicht. Die Uneinheitlichkeit zeigt sich auch bei der Suche nach Infor-

Listing 13: Suche nach inkubatorlib # # # # # # # #

Variables set by the module: OAINKUBATORLIB_FOUND - TRUE if all components are found OAINKUBATOR_INCLUDE_DIR - Location of the include directory OAINKUBATOR_LIBRARY_DIR - Location of the library directory OAINKUBATOR_LIBRARY - inkubatorlib (needed for linking) Example Usages: FIND_PACKAGE(OAInkubatorLib)

# Handles standard arguments include(FindPackageHandleStandardArgs) # Search for the file OAINKUBATORLIB_ROOT in the search path find_path( OAINKUBATORLIB_ROOT_DIR OAINKUBATORLIB_ROOT HINTS /opt/OAInkubatorLib /usr/local/OAInkubatorLib /usr/OAInkubatorLib ENV OAINKUBATOR_ROOT ) # find the include directories. find_path( OAINKUBATOR_INCLUDE_DIR inkubator.hpp PATHS ${OAINKUBATORLIB_ROOT_DIR}/include )

142

# Find the library find_library( OAINKUBATOR_LIBRARY NAMES inkubator PATHS ${OAINKUBATORLIB_ROOT_DIR}/lib ) # Check that all files and directories were properly found find_package_handle_standard_args ( OAINKUBATORLIB DEFAULT_MSG OAINKUBATORLIB_ROOT_DIR OAINKUBATOR_INCLUDE_DIR OAINKUBATOR_LIBRARY ) get_filename_component( OAINKUBATOR_LIBRARY_DIR ${OAINKUBATOR_LIBRARY} PATH ) mark_as_advanced( OAINKUBATOR_INCLUDE_DIR OAINKUBATOR_LIBRARY_DIR OAINKUBATOR_LIBRARY )

iX 9/2015


mationen zum Standard, den der C++Compiler unterstützt. Um portabel zu bleiben, muss der Entwickler die Informationen – etwa anhand der CompilerVersionen – selbst beschaffen. Hier würde man sich eine Art Configuration Hub wünschen. Ähnlich wie bei den Modulen zur Suche nach externen Bibliotheken könnten Betriebssystemhersteller (oder ihre Communitys) Module bereitstellen, die Informationen zu den üblichen Parametern liefern. Das CMakeTeam würde hierzu nur die Schnittstellen (und besonders die Definition der Kategorien) liefern. Wer sein Betriebssystem dann gut unterstützt wissen möchte, würde das entsprechende Modul zur Sammlung der Informationen bereitstellen. So ließen sich CMake-Versionen zumindest teilweise von der Suche entkoppeln.

Portabilität durch Eigenarbeit Listing 13 zeigt noch ein einfaches Modul, das inkubatorlib finden soll. Es sucht in einigen vorgegebenen Standardverzeichnissen nach der Bibliothek (und ih-

iX 9/2015

rem Header) und wertet außerdem die Environment-Variable OAINKUBATOR_ ROOT aus, damit der Nutzer den Ort auch von Hand angeben kann. Hat das Skript inkubatorlib gefunden, soll es die Variablen OAINKUBATOR_INCLUDE_DIR, OAINKUBATOR_LIBRARY_DIR sowie OAINKUBATOR_LIBRARY definieren. Das Setzen der Variablen OAINKUBATORLIB_FOUND soll zudem deutlich machen, dass die Suche erfolgreich war (vgl. FindBoost.cmake oder FindGeneva. cmake für eine vollständigere, aber erheblich komplexere Implementierung eines Find-Moduls). Zunächst bindet Listing 13 mit FindPackageHandleStandardArgs ein weiteres Modul ein, das unter anderem dafür sorgt, dass nach einer erfolgreichen Suche die Variable OAINKUBATORLIB_ FOUND gesetzt ist. Kern der weiteren Suche ist die Datei OAINKUBATORLIB_ ROOT, die mit der nun selbstständigen inkubatorlib in ihr Installationsverzeichnis geschrieben wurde. CMake kann nach dieser in einer Reihe vorgegebener Verzeichnisse mit find_ path suchen und wertet zudem die Variable OAINKUBATOR_ROOT aus. Findet

es die Datei, speichert sie das Verzeichnis in der Variablen OAINKUBATORLIB_ ROOT_DIR. Mit der Kenntnis dieses Wertes sowie der Ordnerstruktur der installierten Bibliothek kann man nun noch das Include-Directory (danach gespeichert in der Variablen OAINKUBATOR_INCLUDE_ DIR) sowie die zu verlinkende liboainkubator (mit Pfad gespeichert in OAINKUBATOR_LIBRARY) identifizieren. find_package_handle_standard_args überprüft nun, ob das Skript alles gefunden hat (und gibt recht umfangreiche Fehlermeldungen aus, wenn dies nicht der Fall ist). Zu guter Letzt identifiziert get_filename_component() der Vollständigkeit halber den Pfad zur Bibliothek. Alle notwendigen Daten sind ab dieser Stelle dann bekannt. mark_as_advanced hat eher kosmetische Bedeutung: Die angegebenen Variablen erscheinen in CMakes Konfigurations-GUI so nur in der AdvancedDarstellung. (Näheres zu dieser Benutzeroberfläche wird der dritte Tutorialteil enthalten.) Das fertige Such-Modul kann nun für die Suche nach der Bibliothek herangezogen werden. Damit sieht die Datei

143


PRAXIS | BUILD-SYSTEM

Listing 14: CMakeLists.txt für OAInkubator cmake_minimum_required(VERSION 3.2)

set(MAIN_SOURCES main.cpp )

project(OAInkubator) set ( CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH} )

set(EXECUTABLENAME OAInkubator ) include_directories ( ${OAINKUBATOR_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} )

set (REQUIRED_BOOST_LIBS random) set (MIN_BOOST_VERSION 1.57) message("Searching for Boost...\n") # This will invoke FindBoost.cmake find_package( Boost ${MIN_BOOST_VERSION} REQUIRED COMPONENTS ${REQUIRED_BOOST_LIBS} ) message("")

link_directories ( ${OAINKUBATOR_LIBRARY_DIR} ) add_executable(${EXECUTABLENAME} ${MAIN_SOURCES} ) target_link_libraries ( ${EXECUTABLENAME} ${OAINKUBATOR_LIBRARY} ${Boost_LIBRARIES} )

message("Searching for oainkubatorlib ...\n") find_package( OAInkubatorLib ) message("") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11")

install (TARGETS ${EXECUTABLENAME} DESTINATION /opt/${EXECUTABLENAME} )

Listing 15: CMakeLists.txt für OAInkubatorLib cmake_minimum_required(VERSION 3.2) project(OAInkubatorLib)

set(OAINKUBATOR_SOURCES inkubator.cpp )

set (REQUIRED_BOOST_LIBS random )

set(LIBRARYNAME inkubator )

set (MIN_BOOST_VERSION 1.57 )

add_library(${LIBRARYNAME} SHARED ${OAINKUBATOR_HEADERS} ${OAINKUBATOR_SOURCES} )

message("Searching for Boost...\n") # This will invoke FindBoost.cmake find_package( Boost ${MIN_BOOST_VERSION} REQUIRED COMPONENTS ${REQUIRED_BOOST_LIBS} ) MESSAGE("")

INSTALL (TARGETS ${LIBRARYNAME} DESTINATION /opt/OAInkubatorLib/lib/ ) INSTALL ( FILES ${OAINKUBATOR_HEADERS} DESTINATION /opt/OAInkubatorLib/include )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11") set(OAINKUBATOR_HEADERS inkubator.hpp )

CMakeLists.txt für die einzige verbleibende Übersetzungseinheit main.cpp dann aus wie in Listing 14. Anders als die letzte Version (vgl. dazu den ersten Tutorialteil) sucht das Skript nun zusätzlich zu Boost auch nach der inkubatorlib-Bibliothek. Deren Quellen wurden dabei aus dem Projekt entfernt (früher lagen sie in einem via ADD_SUBDIRECTORY angesteuerten Verzeichnis). Interessant ist noch, dass man via CMAKE_MODULE_PATH einen Pfad für die Such-Module angeben kann. Im vorliegenden Fall liegt FindOAInkubatorLib.cmake im Unterverzeichnis CMakeModules des Projekts (dessen Hauptverzeichnis PROJECT_SOURCE _DIR referenziert). Der Vollständigkeit halber zeigt Listing 15 die CMakeLists.txt-Version der nun selbstständigen inkubatorlib. 144

INSTALL ( FILES OAINKUBATORLIB_ROOT DESTINATION /opt/OAInkubatorLib/ )

Bemerkenswert sind die INSTALLSektionen, hier insbesondere die mit FILES markierten. An dieser Stelle wird die Header-Datei inkubator.hpp in ihr eigenes Verzeichnis befördert und der Marker OAINKUBATORLIB_ROOT in das Hauptverzeichnis der Bibliotheksinstallation, die dann dort auch von anderen Projekten genutzt – sprich durch das neue Modul gesucht –werden kann.

Fazit CMake bietet viele Möglichkeiten, Systemeigenschaften abzufragen. Die Sprache zeigt sich dabei aber nicht immer einheitlich und bietet einige sehr gewöhnungsbedürftige Konstrukte. Viele Informationen finden sich zudem nur über ausgedehnte Befragungen einer Suchmaschine. Hat

man das Prinzip allerdings einmal verstanden, fällt es überraschend leicht, selbst komplexere Build-Szenarien mit relativ wenig Aufwand abzubilden. (ka)

Dr. Rüdiger Berlich bietet über eine Ausgründung des Karlsruhe Institute of Technology Wissenschaftsconsulting an und ist Mitautor der auf Boost aufbauenden GenevaBibliothek.

Literatur [1]ˇRüdiger Berlich; CMake-Tutorial, Teilˇ1: Erste Projektdateien; Make it your way; iXˇ8/15, S.ˇ118 ff. Alle Links: www.ix.de/ix1509138

iX 9/2015


PRAXIS | TOOLS & TIPPS

V

irtualBox bietet ein rein virtuelles „internes“ Netzwerk. Eine virtuelle Firewall kann es mit dem LAN des Host verbinden und für Experimente dienen – etwa mit OpenBSD und pf. Eine OpenBSD-VM ist mit 128 MByte RAM und 8ˇGByte Festplattenplatz ausreichend bestückt. In den Optionen der Maschine ist es sinnvoll, unter „System“ die Option „Hardware-Uhr in UTC“ zu aktivieren, Audio darf abgeschaltet sein. Als Nächstes geht man daran, zwei virtuelle Netzwerkadapter (vNICs) zu definieren: Der erste soll die Verbindung zum neuen virtuellen LAN herstellen, angelegt als „Internes Netzwerk“ („intnet“, den Namen darf man ändern). Der zweite vNIC, gekoppelt ans HostLAN, stellt die „Internet-Seite“ dar und muss daher als „Netzwerkbrücke“ zu eth0 des Hosts dienen. Es empfiehlt sich, beide Adapter als „Intel PRO/1000 MT Server“ im Promiscuous-Modus („erlauben für alle VMs und den Host“) zu definieren. Weitere VMs in dem neuen virtuellen LAN erhalten jeweils einen vNIC, der nur mit dem internen Netz „intnet“ verbunden wird. Sie werden später die virtuelle Firewall als Gateway ins Host-LAN und damit ins Internet nutzen.

Besonderheiten von OpenBSD Dank seiner Ausrichtung auf Sicherheit und Einfachheit zusammen mit einer streng auditierten Code-Basis liefert OpenBSD die ideale Grundlage für eine Firewall. Die aktuelle Version 5.7 ist auf openbsd.org verfügbar; als Basis genügt das nur 7ˇMByte kleine „cd57.iso“. Per „i“ startet die Installation, „de“ wählt ein deutsches Tastaturlayout, der Hostname kann „fw01“ heißen. Die Netzadapter scheint VirtualBox nach eigenem Gusto zu sortieren, denn em0 ist nicht zwangsläufig der erste definierte vNIC. Daher muss die Konfiguration flexibel bleiben: Ist ein DHCP-Server im LAN vorhanden, sollte man em0 zuerst per dhcp konfigurieren. Funktioniert das, ist em0 das externe Netzwerk der Firewall. Führt das zu einer Fehlermeldung, ist em0 mit „intnet“ verbunden und erhält von Hand die Adresse 192.168.1.254. Bei „Which network interface… [done]“ richtet man durch das Eingeben von em1 den zweiten vNIC ein – als dhcp, wenn em0 fix ist, und mit fester IP-Adresse, wenn em0 per dhcp konfiguriert wurde –, „done“ beendet den Vorgang. Nach Vergabe des root-Passworts aktiviert man sshd samt ntpd und iX 9/2015

Firewall selbst gebaut

Türen schließen Michael Plura Zum Erweitern der FirewallKenntnisse, als heimischer DSL-Router mit Firewall auf einem alten oder Mini-PC sowie beim Aufbauen virtueller Netze leistet eine Minivariante des bei OpenBSD vorinstallierten Paketfilters pf ausgezeichnete Dienste. legt das XˇWindow System mit „no“ still. Bei der Partitionierung reicht eine Bestätigung, bei den zu installierenden Sets werfen –x* und –g* unnötigen Ballast über Bord. Einige Augenblicke später ist OpenBSD 5.7 installiert – einen VirtualBox-Snapshot und das Aushängen des ISOs sollte man nicht vergessen. Wurde kein Benutzer außer root angelegt, kann sich root direkt via ssh einloggen. Linux-Administratoren finden mit pkg_add nano einen vertrauten Editor, weitere Software verwalten pkg_remove und pkg_info; pkg_add –u aktualisiert die Pakete. Die Firewall pf gehört zum Basissystem und ist daher bereits aktiv.

Software verwalten ohne Umstände Damit OpenBSD Pakete nach einem Neustart durchleitet, muss net.inet.ip. forwarding =1 in /etc/sysctl.conf stehen; sysctl net.inet.ip.forwarding=1 aktiviert das Forwarding im laufenden System. Ein ifconfig listet alle erkannten Interfaces auf, unter OpenBSD bestehen die Bezeichnungen aus einem Herstellerkürzel plus einer laufenden Nummer. OpenBSDs pf lässt sich ganz simpel über /etc/pf.conf konfigurieren, einen neuen Regelsatz generiert man per pfctl –nf /etc/pf.conf. Die Option –n führt nur zu einem syntaktischen Prüfen, erst –f veranlasst das Laden, –e aktiviert, –d deaktiviert pf. Den aktuellen Regelsatz löst pfctl –sr auf, –si zeigt Informationen, –ss die aktuellen Verbindungen. sysctl pf oder das nachzuinstallie-

rende pftop geben weitere Zustandsmeldungen in Echtzeit aus. Die einfachste Regel ist „pass“ in /etc/pf.conf, sie lässt jeglichen Datenverkehr durch, „block“ schließt alles, sinnvolle Regelwerke liegen dazwischen. Für einen einfachen NAT-Router etwa: extern_if = "em1" intern_if = "em0" localnet = $intern_if:network match out on $extern_if inet from $localnet — nat-to ($extern_if) block all pass from { self, $localnet } pass in proto tcp to $extern_if port ssh

In den ersten zwei Zeilen erscheinen das externe und interne Interface, localnet steht für das interne Netz. Die match-Zeile markiert Pakete für NAT und erkennt wegen der Klammern dynamische IPÄnderungen von extern_if. Geschweifte Klammern in der pass-Zeile interpretiert pf als Liste, die letzte Zeile lässt ssh-Zugriffe vom Host-LAN aus zu – im LAN okay, im WAN gefährlich. Infos zu OpenBSD und pf stehen in den Links, empfehlenswert sind die Bücher „Absolute OpenBSD“ von Michael W. Lukas und „Book of PF, 3rd Edition“ von Peter N. M. Hansteen, ebenfalls unter „Alle Links“ zu finden. (rh)

Michael Plura lebt in Schweden und ist freier Autor mit den Schwerpunkten IT-Sicherheit, Virtualisierung und freie Betriebssysteme. Alle Links: www.ix.de/ix1509145

145


MEDIEN | APP-INFOS

Geocaching draußen und drinnen

Schatzsucher Kai König, Diane Sieger Wer sich auf elektronische Schatzsuche begeben will, braucht digitale Helferlein. Geocaching-Apps arbeiten online und offline und manchmal sogar vom heimischen Sessel aus.

E

ine Schatzsuche hat schon immer Groß und Klein fasziniert. Dank Geocaching gibt es Schätze jetzt überall, ob vor der Haustür, im Park nebenan oder im Urlaubsgebiet. Egal, ob man nach Microcaches sucht, in denen nur ein kleines Logbuch zu finden ist, oder nach regelrechten Schatztruhen, in denen es kleine Geschenke zu tauschen gibt – in den meisten bewohnten Gegenden der Erde muss man nicht mehr allzu lange reisen, um einen Geocache zu finden. Als Geocaching in den Kinderschuhen steckte, war die Suche noch aufwendig und bedurfte einiger Vorbereitung. Die alten Hasen erinnern sich bestimmt noch an das spannungsgeladene Gefühl, das beim Einlesen der Koordinaten mit seriellem Spezialkabel ins GPS-Gerät aufkam. Heutzutage braucht man einfach nur noch das Handy zu zücken und die begehrten Koordinaten stehen jederzeit zur Verfügung. Doch es gibt eine ganze Reihe mobiler Anwendungen für den aktiven Geocacher und es stellt sich die Frage, welche Anschaffung sich wirklich lohnt.

Vom Basis- zum Premiummitglied Startpunkt für jeden Geocacher ist sicherlich die offizielle App von Groundspeak, den Gründern der Geocaching-Plattform Geocaching.com. Zum Ausprobieren bietet sich die kostenlose Intro-Version mit eingeschränkter Nutzungsmöglichkeit an, die lediglich leichte traditionelle Geocaches anzeigt. Zum Preis von 9,99 Euro erlaubt die Pro-Version den Zugriff auf alle Geocache-Arten und bietet erweiterte Suchfunktionen (verschiedene Filter 146

und Sortierfunktionen). Per In-App-Kauf kann man die Premiummitgliedschaft erwerben, die zum Ausprobieren eines ersten Geocache nicht notwendig ist. In der Basisversion zeigt die App jedoch pro Tag nur eine stark begrenzte Anzahl an Caches mit allen Daten an. Dies gilt für sämtliche Apps, die ihre Daten von Geocaching.com beziehen. Wer die Schatzsuche also als ernsthaftes Hobby betreiben möchte, sollte in eine Premiummitgliedschaft investieren (29,99 US-$ Jahresgebühr oder 9,99 US-$ für drei Monate). Mit der Groundspeak-App ist Geocaching denkbar einfach: Raus in die Natur, App öffnen, auf „Nahe Geocaches finden“ klicken und prompt bekommt man alle Verstecke in der Nähe angezeigt. Die Android-Version öffnet beim Start sogar direkt eine Karte der näheren Umgebung mit allen verfügbaren Geocaches. Wer sich schon vom heimischen Sessel aus vorbereiten will, kann die Suchfunktion nutzen und sich Caches nach Ort, Geocache-Code oder Art des Cache anzeigen lassen. Hat man anhand der ausgegebenen Liste oder Karte einen Cache ausgewählt, kann man sich dorthin leiten lassen, Beschreibungen, Schwierigkeitsgrade, Hinweise und LogEinträge anderer Mitstreiter lesen und auf alle weiteren Daten der Geocaching-Webseite zugreifen. Der Fund eines Cache lässt sich bequem aus der Anwendung heraus ins Logbuch eintragen. Einfach bedienbar und benutzerfreundlich. Eine preiswertere Alternative ist die App iGeoKnife, die jedoch auf einem völlig anderen Prinzip beruht. Die Daten kommen nicht in Echtzeit über die Datenbank der Webseite, sondern man muss die Geocaching-Dateien (im GPX- oder GSAK-Format) vor der Schatzsuche via

iTunes-Synchronisation einlesen. Eine Onlineverbindung für die Suche selbst ist nicht nötig. Dies ist klar von Vorteil, wenn man sich in Gegenden ohne Mobilfunkempfang befindet. Zwar kann man dann nicht mehr auf die eingebaute Kartenfunktion zurückgreifen, der mitgelieferte Kompass reicht aber aus und funktioniert auf dem iPhone gut. iGeoKnife kostet 3,99 Euro und lohnt sich sowohl für mobilfunkfreie Gegenden als auch zur Planung von Caches im Ausland, sofern man dort keine Datenpakete für sein mobiles Gerät zur Verfügung stehen hat. Sind die Dateien eingelesen, ist die Bedienung intuitiv und benutzerfreundlich. Ähnliche Features stellt c:geo auf Android zur Verfügung. Sie ist kostenlos erhältlich und nutzt nicht die offizielle Geocaching-API, sondern basiert auf einer Art von „Screen Scraping“ – also dem Auslesen von Informationen vom Display – nach dem Login in die Geocaching-Webseite und kann daher mit anderen Plattformen wie Opencaching interagieren. Gewünschte Caches lassen sich mit ihren Daten in eine Offline-Liste übernehmen, sodass auch Personen ohne Mobilfunkempfang mit dem Android-Gerät cachen können. Kartenfragmente kann man mit dem gleichen Mechanismus offline speichern. Die App ist gelungen und vor allem für Cacher ohne GeocachingPremiummitgliedschaft empfehlenswert.

Mit dem Buddy auf die Suche gehen Wer auf iOS die Arbeit des Datentransfers bei iGeoKnife scheut, sollte sich „Geocaching Buddy“ ansehen. Bei „normalen“ Caches zeigt sich noch kein wesentlicher Unterschied zur Groundspeak-App, außer dass Nutzer mit einem Faible für Design die optische Gestaltung des Buddy eventuell als angenehmer empfinden. Der große Unterschied liegt jedoch in der Art, wie die App sogenannte Multi-Caches, bei denen Hinweise über mehrere Stationen zum Standort des Schatzes führen, handhabt. Geocaching Buddy speichert Antworten auf zu lösende Rätsel, berechnet neue Wegpunkte und bietet die Option, sich selbst eine E-Mail zu schicken, die alle Informationen beinhaltet, die man über einen Multi-Cache erlangt hat. Daher eignet sich diese App weniger für den „Ich bin hier, was ist um mich herum zu finden?“-Ansatz, sondern zeigt ihre Stärke in der Planung der Suche nach komplizierteren Caches. Es empfiehlt sich, die Anleitung zur App (zum Download erhältlich auf der Geocaching-Buddy-Website iX 9/2015


Alle App-Infos www.gcbuddy.com) vor dem ersten Einsatz zu studieren. Android-Nutzer können vor dem Kauf eine kostenlose Trial-Version testen. Sie kann allerdings nur einen einzigen Cache speichern und ist daher zum Testen der Handhabung von MultiCaches nicht geeignet. Der Preis beträgt jeweils 7,99 Euro. Die Anschaffung lohnt sich definitiv für alle, die sich gern mit komplizierten Caches beschäftigen. Optisch enorm von den bisher besprochenen Anwendungen unterscheidet sich „Next Cache“ – das Design wirkt wesentlich frischer und moderner. Auch über einen Mangel an Funktionen kann man nicht klagen. Insbesondere die Suchfunktion, die Caches in der Nähe unter anderem basiert auf der Genauigkeit des GPSSignals anzeigen kann, ist leicht bedienbar. Lediglich auf die Anzeige von Logs anderer Geocacher muss man verzichten. Leider stürzte Next Cache im Praxistest der Autorin (auf einem iPhoneˇ6 mit iOS 8.4) regelmäßig ab. Dies führte zu besonderer Frustration während des Loggens eines Cache – wer verliert schon gern eine Nachricht, die mit viel Sorgfalt formuliert wurde? Und wenn man dann später feststellt, dass es doch einen Log-Eintrag gab

und man nun auf Geocaching.com den doppelten Eintrag löschen muss, ist man noch weniger von der App beeindruckt. Zum Schnäppchenpreis von 0,99 Euro können interessierte Geocacher sie sich jedoch ruhig anschauen, vielleicht läuft die App ja auf anderen iOS-Geräten besser.

Rätselknacken leicht gemacht Manchmal reicht es nicht, lediglich eine gute Geocaching-App mit sich zu führen. Insbesondere wenn es darum geht, als Teil eines Rätsels Schnittpunkte zweier Geraden zu finden, einen Code zu dechiffrieren oder Maßeinheiten zu konvertieren, lohnt es sich, ein Geocaching-Tool zur Hand zu haben. GCTools für iOS ist hierfür sehr geeignet. Die App ist umsonst, manche Funktionspakete sind jedoch kostenpflichtig und können als In-App-Kauf zum Preis von 0,99 Euro erworben werden. Mit dem Kauf des ersten Zusatzpakets verschwinden auch nervige Werbeeinblendungen. Android-Nutzer haben mit GCC – „GeoCache Calculator“ – eine kostenlose App zur Hand, die die meisten Features von GCTools bietet, aber noch weit über

Vor 10 Jahren: Digitale Signatur ohne Nutzen Schon vor 10 Jahren war absehbar, dass die digitale Signatur zu einem Nischendasein verdammt ist. Wir schauen kurz in die Zukunft: Ab dem 1. Juli 2016 sollen Ärzte ihre Arzt-zuArzt-Kommunikation elektronisch signieren und versenden können. So will es das sogenannte eHealth-Beschleunigungsgesetz, nach dem die Ärzte für ihre Beschleunigung sogar mit 55 Cent für jeden elektronischen Arztbrief belohnt werden. 2018 entfällt dies, weil dann alle Ärzte verpflichtet sind, ihre Briefe mit der qualifizierten elektronischen Signatur auf ihrem Heilberufeausweis zu signieren und als E-Mail den Kollegen zu schicken. Die per Gesetz durchgedrückte Beschleunigung der Kommunikation soll Ärzte dazu bewegen, die telematische Infrastruktur zu nutzen, die derzeit aufgebaut wird. Sie geht auf eine Forderung der Ärzteschaft zurück, dass auch die Ärzte etwas von dieser Infrastruktur haben müssen, nicht nur die Krankenkassen. Diese sollen künftig die Daten auf den Gesundheitskarten ihrer Versicherten online aktualisieren können und profitieren durch eine verringerte KartenprodukiX 9/2015

tion. Technisch scheint die Forderung der Ärzte schnell umsetzbar zu sein: Das Signieren von PDF-Arztbriefen wie der Austausch von XML-strukurierten und signierten Arztdokumenten ist seit vielen Jahren in Pilotprojekten erprobt und in Krankenhaus- sowie Praxis-Verwaltungssysteme integriert. Nun aber zurück in die Vergangenheit: Vor 10 Jahren schaute iX-Redakteur Christian Kirsch nach, was eigentlich aus der 1997 per Gesetz beschlossenen digitalen Signatur geworden ist. Neben einem Bericht über die von Trustcentern und Chipkartenherstellern herausgegebenen Signaturkarten verfasste er ein Editorial zum Thema. Sein Fazit zur „Unterschriftenreform“ fiel vernichtend aus: Vereinzelt würden Signaturkarten zwar in Spezialanwendungen eingesetzt, doch für den Durchschnittsbürger sei das überhaupt nichts. „Der berühmten Frau auf der Straße, auf deren Begeisterung für sicheres digitales Unterschreiben die Chipkartenindustrie ihre finanziellen Hoffnungen ge-

www.heise.de/ix/online/ app-infos/

das Funktionsspektrum der iOS-App hinausgeht. Mit GCC lassen sich nahezu alle üblichen Geocache-Rätsel und -Verschlüsselungen erstellen und lösen: Vom Cäsar-Code über Farbwerte bis zu Daten über den Sonnenstand ist alles vorhanden. Die App präsentiert sich mit aufgeräumtem Startbildschirm und bietet einen einfachen und schnellen Zugang zu den Funktionen der mehr als 60 Unterseiten. Zum Abschluss eine Geocaching-App der etwas anderen Art: Wer mal keine Lust auf die freie Natur hat, kann, statt selbst geocachen zu gehen, einfach die Ausflüge von Freunden und Bekannten nachverfolgen. „Watch GEOFriends“ zeigt iOSNutzern die Logbucheinträge befreundeter Geocacher an; ein Klick auf den Cache-Namen öffnet die bevorzugte App und zeigt an, wo die Freunde sich kürzlich getummelt haben. (ka) Alle Links: www.ix.de/ix1509146

setzt hatte, bringt diese komplizierte Technik indes keinen Nutzen, der die Kosten und den Aufwand rechtfertigen könnte.“ Das gilt bis heute. Zwar sind ein paar Spezialanwendungen hinzugekommen, etwa in der Abfallwirtschaft. Dafür haben etliche Trustcenter und Kartenanbieter das Geschäft mit Signaturkarten aufgegeben oder wurden von den beiden großen Konkurrenten Telesec (T-Systems) und DTrust (Bundesdruckerei) geschluckt. Auch die 270ˇ000 Ärzte mit ihren Arztbriefen werden nichts daran ändern, dass die digitale Signatur keine Alltäglichkeit ist. Alternativen gibt es, doch diese kommen nicht zum Zug. So enthält die elektronische Gesundheitskarte eine Signatur, die für viele Schrifterfordernisse geeignet ist. Sie kann man aber erst nutzen, wenn die Krankenkassen die PIN-Briefe verschicken. Jeder „neue“ Personalausweis besitzt ein Fach zum Speichern einer qualifizierten Signatur. Doch die Prozedur zur Speicherung ist umständlich und nicht für die „Frau auf der Straße“ gedacht. Aber in 10 Jahrenˇ… Detlef Borchers (js) Alle Links: www.ix.de/ix1509147

147


MEDIEN | BUCHMARKT

W

MEHR KBYTES

er beim Buchhändler sondern bei buchhandel.de unternach Neuerscheinungen gekommen ist, hat die Börsenverzum Content-Manageeinstochter MVB das Geschäft an Content Management / E-Books ment sucht, findet selbstverständden E-Buch-Dienstleister Zeilenlich etwas, allerdings nicht unwert zu einem ungenannten Preis bedingt zum CMS der eigenen Wahl. „Einführung in das populäre CMS“, so der verkauft. In Frankfurt am Main wollen die Denn zu den großen kommerziellen Con- Untertitel, verlegt. Knapp 300 Seiten soll- Thüringer einen Standort mit den bisheritent-Management-Systemen liegen nur ten Einsteigern reichen. Daniel Koch hat gen Mitarbeitern aufbauen. wenige und ältere Werke vor. Intesich in seinem bei entwickler.press Ihren ursprünglichen Streaming-Dienst resse finden bei Autoerschienen schmalen Band „Joomla! Juke will Media-Saturn zu einem allren und Verlagen Templates“ auf eben diese konzen- gemeinen Unterhaltungsportal ausbauen. vor allem Webtriert. Für diejenigen, die selbst ein Außer Software, Musik und Filmen gehöCMS wie TYPO3 Design erstellen wollen oder ren 1,5 Mio. E-Bücher zum Angebot – und Joomla! somüssen. nicht fürs Streaming, sonwie das früher nur Zu TYPO3. Frank Bondern als EPUB. als Blogging-Sysgers und Michael Hassel Das integriert tem bekannte Wordhaben ihrem früher von den 2010 ins Press. Bei Durchsicht Galileo (jetzt RheinLeben gerufenen der in den letzten Mowerk) veröffentlichten eBookdownloadnaten veröffentlichten „Einstieg“ ins CMS shop ins größere Bände dominiert Wordein Update auf VerKonzept. Press geradezu. sion 6.2 LTS verDass nach DuZwei Verlage teilen passt; es ist jetzt Mont, dtv, Piper sich das WP-Feld: Rheindie siebte Auflaund Ullstein die werk und O’Reilly. Peter ge. Dagegen haben Thomas Holtzbrinck-Häuser Müllers „Einstieg in WordDeuling, Jo Hasenau und Kay Rowohlt, KiepenPressˇ4“ hat Rheinwerk gerade erst veröf- Strobach etwas ganz anderes heuerˇ&ˇWitsch, S. fentlicht, der Titel deutet die Zielgruppe in Angriff genommen. Per Fischer und andere mehr als an. Dagegen spricht Alexander Crowdfunding hatten die Autoren mit dem mit digitalen WasserHetzel mit seinem „umfassenden Hand- Aufbau eines Base-Package begonnen, das zeichen arbeiten wolbuch“ offenkundig diejenigen an, die es mehr Themes für TYPO3 bereitstellen len (siehe S. 32), hat Bertelsmanns genau wissen wollen. Grob gesagt: 500 sollte. Es setzt auf Bootstrap auf, und sie Random House dazu gebracht, sich angegen 1000 Seiten, frisch erschienene beschreiben die Arbeit mit dem Package. zuschließen. Einführung versus überarbeitete GrundSeit 2009 konnten Lesewütige E-Books Wenn die Statista GmbH recht hat, erlagen, eine Frage der Tiefe, die Leser sich bei Libreka erwerben, einem Projekt des höht sich der Umsatz mit E-Books von wünschen. Börsenvereins des Deutschen Buchhan- circa 523 Mio. Euro für dieses Jahr auf O’Reilly geht ähnlich vor. Tim Schür- dels. Nachdem Libreka seit Dezember 869 Mio. im Jahre 2020. Und die Berliner mann hat für den Verlag „WordPressˇ4 2014 nicht mehr eigenständig existiert, Morgenpost wittert für Buchhändler selbikomplett“ geschrieben. Sein ge Luft: eine europäisch abge„Kompendium“ (Untertitel) ist segnete E-Buchpreisbindung. Frank Bongers, Michael Hassel; Einstieg in TYPO3 CMS 6.2 LTS; das Pendant zum Handbuch. Raubleser scheinen in GroßInkl. Einführung in TypoScript; Bonn (Rheinwerk) 2015; Leichte Unterschiede zeigen britannien rarer zu sein als 7., aktualisierte Auflage; 623ˇSeiten zzgl. DVD; 29,90ˇ€ (gebunden) die Schwergewichte bei den Raubseher oder -hörer. Laut den Thomas Deuling, Jo Hasenau, Kay Strobach; TYPO3 Theming und von den Autoren gesetzten Marktbeobachtern von Kantar Distribution; Den neuen Standard effektiv einsetzen; Köln (O’Reilly) Schwerpunkten; vielleicht erMedia, die für das Intellectual 2015; 313ˇSeiten; 39,90ˇ€ (gebunden) leichtert das die Auswahl. Property Office die PiraterieAlexander Hetzel; WordPressˇ4; Das umfassende Handbuch; Als Einstieg bietet O’Reilly Studie erarbeitet hatten, geBonn (Rheinwerk) 2015; 4., aktualisierte und erweiterte Auflage; Moritz Sauers „Das WordPress hören die E-Leser zu den On938ˇSeiten; 39,90ˇ€ (gebunden) Buch“ im Querformat mit jeline-Content-Konsumenten mit Daniel Koch; Joomla! Templates; Professionelle Vorlagen mit CSS; weils einer Seite Grafik (links) der höchsten Zahlungsmoral. Frankfurt am Main (entwickler.press) 2015; 114ˇSeiten; 19,90ˇ€ und Erklärungen dazu (rechts). Nur 1ˇ% aller Internetnutzer (Paperback) Einsteiger können sich über in Großbritannien über zwölf das Update auf Versionˇ4 in der Jahre haben zwischen März Peter Müller; Einstieg in WordPressˇ4; Bonn (Rheinwerk) 2015; zweiten Auflage freuen. In dieund Mai 2015 mindestens ein 468ˇSeiten; 24,90ˇ€ (Paperback) ser Buchreihe, die der Verlag E-Buch illegal gelesen. Hörer Moritz „mo.“ Sauer; Das WordPress Buch; Köln (O’Reilly) 2014; mit „Wissen im Querformat“ kommen auf 9ˇ%, Kinofans auf 2. Auflage; 288ˇSeiten; 19,90ˇ€ (Paperback) bewirbt, liegt unter anderem 6ˇ%. SF-Autor Nick Harkaway Tim Schürmann; WordPressˇ4 komplett; Das Kompendium für seit Kurzem ein Band zu Joomführt das auf Kulturelles zuWebsites & Blogs; Köln (O’Reilly) 2015; 847ˇSeiten; 39,90ˇ€ la! vor, verfasst von Kompendirück – gleichsam Spitzwegs ar(gebunden) um-Autor Schürmann. men Poeten. Tim Schürmann; Das Joomla! Buch; Köln (O’Reilly) 2015; Weitere Verlage haben Henning Behme (hb) 304ˇSeiten; 19,90ˇ€ (Paperback) Veröffentlichungen zu Joomla! beigesteuert. Springer hat Ralph Steyer; Joomla!; Einführung in das populäre CMS; Berlin, Alle Links: www.ix.de/ix1509148 im Frühsommer Ralph Steyers Heidelberg (Springer) 2015; 292ˇSeiten; 34,90ˇ€ (Paperback) 148

iX 9/2015



MEDIEN | REZENSIONEN

Gunnar Wrobel

JavaScript Tools Besserer Code durch eine professionelle Programmierumgebung München 2015 Open Source Press 196 Seiten 19,90 € ISBN 978-3-95539-115-7

B

esserer Code durch eine professionelle Programmierumgebung? Meint der Autor damit beispielsweise eine integrierte Entwicklungsumgebung wie NetBeans, die mit einer ausgezeichneten JavaScript- und Node.js-Unterstützung daherkommt? Nein, fürs Coden reicht dem Autor ein einfacher Editor, vorzugsweise mit Syntax-Highlighting. Er selbst nutze dazu

Emacs. Und es bleibe genau eine Option für die professionelle Entwicklung mit JavaScript, nämlich Node.js. Unter professioneller Programmierumgebung versteht Gunnar Wrobel etwas anderes: diverse Tools, die den Entwickler bei der Arbeit mit dem Code unterstützen. Und so beschreibt er in seinem Buch eine Umgebung, deren Basis Node.js mit seinem

Ken Martin, Bill Hoffman

Mastering CMake A Cross-Platform Build System New York 2015 Kitware, Inc. 706 Seiten 55,64 € ISBN 978-1-9309-3431-3

W

er in der C/C++Welt unterwegs ist und über Plattformgrenzen hinweg Software erstellen möchte, kommt um das Build-System CMake kaum herum. Mit dem klassischen Unix-Namensvetter make hat es nicht viel mehr als diesen Namen gemeinsam – oder vielleicht doch: Denn es kann neben Projektdateien beispielsweise für Microsofts Visual Studio eben auch auf das Zielsystem und das zu erstellende Projekt abgestimmte Makefiles generieren. Hierzu wird das jeweilige Host-System mit spe-

150

zifischen Plug-ins auf das Vorhandensein benötigter Softwarekomponenten überprüft, die Pfade zu Bibliotheken und Header-Dateien in passenden Variablen gespeichert und die Aufruf-Konventionen des jeweiligen Compilers analysiert. Zusammen mit einer eigenen Beschreibungssprache lassen sich so Build-Systeme zusammenstellen, die an Flexibilität nichts zu wünschen übrig lassen. Und wer mit einem einfachen Projekt beginnt, dürfte mit CMake schnell Erfolg haben. Steigt man jedoch tiefer ein und will eigene CMake-

Paketmanager bildet. Hinzu kommen der Code-Check mit JSHint, die Build-Automation mit Grunt, Unit-Testing mit Mocha und einiges mehr. Dabei bietet der Autor eine aktuelle Bestandsaufnahme. Neben den präferierten Tools stellt er Alternativen vor und erläutert, warum sie momentan nicht seine erste Wahl sind. So zeigt er beispielsweise gulp als Alternative zu Grunt. Nicht nur erklärt der Autor, wie die von ihm ausgewählten Produkte installiert und genutzt werden – vielmehr liefert er dazu Informationen, warum sie einzusetzen seien. Hintergrundwissen im Erzählstil, gepaart mit zahlreichen Codebeispielen und Abbildungen. So geht er beim Thema Unit-Test auch auf testgetriebene Entwicklung ein, erläutert Spione und Attrappen oder wie Abhängigkeiten mit rewire zum Test ausgetauscht werden können. Ebenfalls zum großen

Thema Testen gehört das Kapitel zur Automatisierung mit Karma und webpack. Mit Node.js hat JavaScript den Weg zu eigenständigen Applikationen gefunden, inklusive Serveranwendungen. Die ursprüngliche Lebensumgebung von JavaScript ist jedoch der Browser. Wrobel geht auf beide Seiten ein. Im Laufe des Buches entwickelt er eine Mini-Bibliothek und zeigt, wie man sie bei Node.js und im Browser einbinden kann. In einem umfangreichen Anhang geht er ausführlich auf die JSHint-Konfiguration sowie die Stilprüfung mit jscs ein. Insgesamt bietet der Band einen Rundumschlag: zahlreiche nützliche Tools – weit mehr als die hier erwähnten –, die dem JavaScript-kundigen Leser helfen sollen, den Weg vom Programmier-Einsteiger zur Professionalität zu beschreiten. Michael Müller (hb)

Module programmieren oder ein Projekt aus Bibliotheken, mit Beispielen und Dokumentation erstellen (das frei verfügbare Dokumentationswerkzeug Doxygen lässt sich integrieren), stößt man schnell an seine Grenzen. Die Suche nach passender Dokumentation endet im Grunde immer an einer von zwei Stellen: der online verfügbaren Referenzdokumentation oder dem vorliegenden Werk. Letzteres ist im Januar 2015 in einer überarbeiteten, weiterhin nur englischsprachigen Ausgabe zur CMake-Release 3.1 erschienen (die Version 3.3 steht jetzt, Mitte 2015, kurz bevor). Gegenüber der Vorgängerausgabe ist das Buch deutlich im Umfang gewachsen – mittlerweile genau 700 Seiten. Leider lassen sich die gelegentlich zur früheren Ausgabe geäußerten Kritiken für die aktuelle nachvollziehen. So beginnen die Anhänge, einschließlich des Referenzteils, lange vor der Hälfte, auf Seite 235. Und die eigentlich bitter benötigten Tutorials für un-

terschiedliche Fragestellungen umfassen gerade zwölf Seiten. Auch die durchaus mit Tücken versehene CMake-Sprache hätte statt weniger Seiten einige Kapitel füllen können. Auf eine Beschreibung des inneren Aufbaus („Each command in CMake is implemented as a separate C++ class“) hätte man dafür eher verzichten können. Viel Information wird man in diesem Werk dennoch finden (beispielsweise zu Testautomation und -Monitoring oder Generierung plattformspezifischer Installationspakete). Aber eben in einer Form, die Raum für Verbesserung lässt. Insgesamt hinterlässt das Buch einen ähnlichen Eindruck wie CMake: eine gewachsene Lösung. Und die umfangreichen Referenzen lassen sich genauso online finden. So bleibt nur die Empfehlung, es bei neuen Projekten soweit möglich mit der Online-Referenz zu versuchen, bevor man sich letztendlich mangels Auswahl doch zum Buchkauf entschließt. Rüdiger Berlich (hb) iX 9/2015


Gerrit Hornung, Ralf Müller-Terpitz (Hrsg.)

Rechtshandbuch Social Media Heidelberg 2015 Springer 498 Seiten 59,99 € ISBN 978-3-642-38191-1

D

as Rechtshandbuch der beiden herausgebenden Juraprofessoren Hornung und Müller-Terpitz widmet sich den Fragen rund um das „Phänomen Social Media“, wie es die Autoren selbst ausdrücken. Es befindet sich auf dem Stand von Juli 2014, wenngleich Springer es erst im März 2015 veröffentlicht hat.

Darin steckt gleich das grundlegende Problem eines solchen Werkes, das die rechtlichen Aspekte eines „Phänomens“ behandelt, das wiederum stetigem Wandel unterliegt und schnelllebig ist. Einerseits sind die rechtlichen Themenblöcke „zehn Jahre nach dem Start des bis heute erfolgreichsten sozialen Netzes Facebook“

klar. Andererseits ändert sich durch Gesetzgebung und Rechtsprechung aber laufend etwas, worauf sich der Leser einstellen muss. Inhaltlich bietet das Buch zunächst eine Beschreibung des so wohlklingenden Phänomens der sozialen Medien. Nun gibt es die schon eine vergleichsweise lange Zeit, und es ist damit zu rechnen, dass sie der Internetwelt noch lange erhalten bleiben werden. Die häufige Verwendung des Begriffs „Phänomen“ suggeriert – zu Unrecht –, dass Herausgeber und Autoren sich der Thematik eher distanziert und mit Staunen widmen. Hierzu passt unter anderem die Feststellung, dass soziale Medien ihrer Ansicht nach „einen fundamentalen Paradigmenwechsel in der Entwicklung globaler Öffentlichkeit“ verursachen. In den folgenden Kapiteln widmen sich Hornung und Müller-Terpitz den Rechtsfra-

gen der sozialen Medien. Hierzu zählen die vertraglichen und datenschutzrechtlichen Aspekte, die haftungsrechtlichen Probleme und Fragen des Persönlichkeitsrechts. Hinzu kommen straf- und arbeitsrechtliche Aspekte, sowie medien- und internetrechtliche Anforderungen und der Einsatz sozialer Medien durch die öffentliche Verwaltung. Es ist insoweit vollständig. Unter dem Strich ist das Werk eine wertvolle und umfangreiche Zusammenstellung der Rechtsfragen im Bereich der sozialen Medien. Als Rechtshandbuch richtet es sich in erster Linie an Juristen. Für Nichtjuristen dürften einige Teile nur schwer zugänglich sein, beispielsweise wenn es um die Reichweite der Grundrechte geht. Zur Vertiefung bei Einzelfragen kann es diesem Leserkreis aber durchaus eine wertvolle Lektüre sein. Tobias Haar (hb)


STELLENANGEBOTE

152

iX 9/2015


SERVICE | IMPRESSUM

Die Inserenten* REDAKTIONELLER TEIL

MAGAZIN FÜR PROFESSIONELLE INFORMATIONSTECHNIK

1&1

www.1und1.de

20/21

Abbyy

www.abbyy.de

97

Axes4

www.axes4.com

97

Bintec elmeg

www.bintec-elmeg.com

Bytec

www.bytec.de

156

Stellv. Chefredakteur: Henning Behme (hb) -374

Cybics

www.cybics.de

33

Ltd. Redakt.: Kersten Auel (ka) -367, Ralph Hülsenbusch (rh) -373, Bert Ungerer (un) -368

Delta Computer

www.deltacomputer.de

6, 43

dpunkt

www.dpunkt-verlag.de

155

Eclipse

www.eclipsecon.org

35

eco

www.eco-verband.de

17

Fernschule Weber

www.fernschule-weber.de

67

Postfach 61 04 07, 30604 Hannover; Karl-Wiechert-Allee 10, 30625 Hannover Redaktion: Telefon: 0511 5352-387, Fax: 0511 5352-361, E-Mail: post@ix.de Abonnements: Telefon: 0541 80009-120, Fax: 0541 80009-122, E-Mail: leserservice@heise.de Herausgeber: Christian Heise, Ansgar Heise

47

Redaktion: Chefredakteur: Jürgen Seeger (js) -386

Jürgen Diercks (jd) -379, Moritz Förster (fo) -384, Alexander Neumann (ane) -813, Susanne Nolte (sun) -689, André von Raison (avr) -377, Ute Roos (ur) -535, Julia Schmidt (jul) -378, Tilman Wittenhorst (tiw) -787 Redaktionsassistenz: Carmen Lehmann (cle) -387, Michael Mentzel (mm) -153 Korrespondent Köln/Düsseldorf/Ruhrgebiet: Achim Born, Siebengebirgsallee 82, 50939 Köln, Telefon: 0221 4200262, E-Mail: ab@ix.de Korrespondentin München: Susanne Franke, Ansbacherstr. 2, 80796 München, Telefon: 089 28807480, E-Mail: sf@ix.de

Fujitsu

www.de.fujitsu.com

13

Heinlein

www.heinlein-support.de

57

Komsa Systems

www.komsa-systems.com

31

mitp

www.mitp.de

29

PDFlib

www.pdflib.com/de/knowledge-base/pdfua

97

Samsung

www.samsung.de

Verlag und Anzeigenverwaltung: Heise Medien GmbH & Co. KG, Postfach 61 04 07, 30604 Hannover; Karl-Wiechert-Allee 10, 30625 Hannover; Telefon: 0511 5352-0, Fax: 0511 5352-129

Server4you

www.server4you.de

Serverloft

www.serverloft.de

49

Geschäftsführer: Ansgar Heise, Dr. Alfons Schräder

Synology

www.synology.de

45

Mitglied der Geschäftsleitung: Beate Gerold

Transtec

www.transtec.de

unmetered

www.unmetered.com

Vodafone

www.vodafone.de

Volkswagen AG

group-it.volkswagenag.com

27

ECS

www.managed-it.info

VII

Hostserver

www.hostserver.de

Netcup

www.netcup.com

VII

Quality Hosting

www.qualityhosting.de

IX

Webhostone

www.webhostone.de

XI

Ständige Mitarbeiter: Detlef Borchers, Tobias Haar, Fred Hantelmann, Nils Kaczenski, Christian Kirsch, Kai König, Barbara Lange, Stefan Mintert, Holger Schwichtenberg, Christian Segor, Diane Sieger, Jens Söldner, Axel Urbanski, Gerhard Völkl Layout und Satz: Enrico Eisert, Matthias Timm, Hinstorff Verlag, Rostock Chefin vom Dienst: Barbara Gückel Korrektorat: Barbara Gückel; Kathleen Tiede, Hinstorff Verlag, Rostock Fotografie: Martin Klauss Fotografie, Despetal/Barfelde Titel: Idee: iX; Titel- und Aufmachergestaltung: Dietmar Jokisch, Martin Klauss

Verlagsleiter: Dr. Alfons Schräder Anzeigenleitung: Michael Hanke -167, E-Mail: michael.hanke@heise.de, www.heise.de/mediadaten/ix

11 23, 39

15 149 9

Anzeigenpreise: Es gilt die Anzeigenpreisliste Nr. 26 vom 1. Januar 2015. Leiter Vertrieb und Marketing: André Lux -299 Werbeleitung: Julia Conrades -156 Druck: Dierichs Druck + Media GmbH & Co. KG, Frankfurter Straße 168, 34121 Kassel

iX extra

Sonderdruck-Service: Julia Conrades -156 Verantwortlich: Textteil: Jürgen Seeger; Anzeigenteil: Michael Hanke iX erscheint monatlich Einzelpreis € 6,90, Österreich € 7,40, Schweiz CHF 10,70, restl. Europa € 8,10, sonst. Länder € 9,30 Das Abonnement für 13 Ausgaben kostet: Inland € 81,90, Österreich € 89,05, Schweiz CHF 128,90, restl. Europa € 96,20, sonst. Länder € 106,60; 13 Digitalausgaben im Abonnement kosten weltweit € 81,90; Studentenabonnement: Inland € 49,40, Österreich € 54,60, Schweiz CHF 90,20, restl. Europa € 59,80, sonst. Länder € 66,30; nur gegen Vorlage der Studienbescheinigung, Luftpost auf Anfrage.

III

iX Plus-Abonnements (inkl. Online-Zugriff auf das iX-Artikel-Archiv und die digitale Ausgabe für Android/iOS) kosten pro Jahr € 13 (Schweiz CHF 16,95) Aufpreis. Für Mitglieder von AUGE, BvDW e.V., /ch/open, GI, GUUG, JUG Switzerland, Mac e.V., VBIO, VDE und VDI gelten ermäßigte Abonnementpreise (gegen Mitgliedsausweis). Bitte beim Abo-Service nachfragen. Kundenkonto in der Schweiz: UBS AG, Zürich, Kto.-Nr. 206 P0-465.060.0 Abo-Service: Heise Medien GmbH & Co. KG, Leserservice, Postfach 24 69, 49014 Osnabrück, Telefon: 0541 80009-120, Fax: 0541 80009-122, E-Mail: leserservice@heise.de Vertrieb Einzelverkauf (auch für Österreich, Luxemburg und Schweiz): VU Verlagsunion KG, Am Klingenweg 10, 65396 Walluf, Telefon: 06123 620132, Fax: 06123 6205132, info@verlagsunion.de Eine Haftung für die Richtigkeit der Veröffentlichungen kann trotz sorgfältiger Prüfung durch die Redaktion vom Herausgeber nicht übernommen werden. Die gewerbliche Nutzung abgedruckter Programme ist nur mit schriftlicher Genehmigung des Herausgebers zulässig. Honorierte Arbeiten gehen in das Verfügungsrecht des Verlages über, Nachdruck nur mit Genehmigung des Verlages. Mit Übergabe der Manuskripte und Bilder an die Redaktion erteilt der Verfasser dem Verlag das Exklusivrecht zur Veröffentlichung. Für unverlangt eingesandte Manuskripte kann keine Haftung übernommen werden. Sämtliche Veröffentlichungen in iX erfolgen ohne Berücksichtigung eines eventuellen Patentschutzes. Warennamen werden ohne Gewährleistung einer freien Verwendung benutzt. Printed in Germany © Copyright by Heise Medien GmbH & Co. KG

ISSN 0935-9680

iX 9/2015

©

STELLENMARKT

Staatliche Betriebe Radebeul

www.smul.sachsen.de/bful

152

Transline Deutschland

www.transline.de

152

VERANSTALTUNGEN iX Cloud

iX, heise Events

25

Software QS-Tag

iX, imbus

63

Backup Vmware + -Hyper-V

iX, heise Events

71

C++ Code

QA Systems, iX

74/75

OTRS 2015

iX, heise Events

101

Systemmanagement mit Puppet iX, heise Events

125

C++11 2015

iX, heise Events

137

Open Source mit Icinga 2

iX, heise Events

143

* Die hier abgedruckten Seitenzahlen sind nicht verbindlich. Redaktionelle Gründe können Änderungen erforderlich machen.

153


VORSCHAU | OKTOBER 2015

Mit Python-Bibliotheken Datenmengen analysieren

Systemd verdrängt Init-Prozess Jeder Rechner braucht ein Verfahren, das festlegt, in welcher Reihenfolge er die einzelnen Hard- und Softwarekomponenten zum Leben erwecken soll. Das unter Unix übliche SysVinit lieferte die Vorlage für das init-System, mit dem die meisten Linux-Systeme jahrelang starteten. Inzwischen gibt es aber eine Alternative namens systemd, die als Start- und Verwaltungsumgebung in den Distributionen diese Aufgaben übernimmt. Sie soll die Startvorgänge beschleunigen und parallelisieren sowie eine nahezu vollständige Kontrolle aller Prozesse erlauben. Ein Einblick in das schwer durchdringbare Dickicht der Abhängigkeiten zeigt Vor- und Nachteile der Methode auf.

Cross-PlattformEntwicklung mit VS 2015 Fast zeitgleich mit Windows 10 erschien Visual Studio 2015, die erste Hauptversion von Microsofts Entwicklungsumgebung seit rund zwei Jahren. Mit dem neuen VS können Entwickler jetzt für iOS, Android und Windows gleichermaßen programmieren; in HTML, JavaScript, C++ und OpenGL ES.

Heft 10/2015 erscheint am 24. September 2015

Das Analysieren und Verarbeiten großer Datenmengen ist nach wie vor ein zentrales Thema der IT. Neben spezialisierten Programmpaketen wie R oder MATLAB gibt es Python-Bibliotheken, die diese Arbeit gezielt vereinfachen. Ein Tutorial stellt eine Auswahl vor und zeigt an Beispielen, was die Python-Anwendungen leisten können.

iX Kompakt Office für Profis jetzt im Handel

Softwaremodellierung mit dem DDD Fachliche Anforderungen an eine Anwendung sind eine Sache – ob sie zur Zufriedenheit des Kunden erfüllt werden, eine andere. Das Domain-Driven Design definiert passende Kontexte mit klaren Grenzen und erleichtert es Entwicklern so, den Softwareentwurf eng an der fachlichen Domäne auszurichten.

Hochverfügbarkeit durch Online-USV IT-Systeme brauchen eine unterbrechungsfreie Stromversorgung (USV), denn schon kurze Netzschwankungen können geschäftskritische Daten im digitalen Nirwana versenken. Für solch zentrale Systeme eignen sich besonders Online-USVs, die ständig eine eigene Netzspannung erzeugen. Eine Marktübersicht bietet einen Überblick zu wichtigen Geräten und Anbietern.

Technology Review 9/2015 jetzt im Handel

Kein wichtiges Thema mehr versäumen! Abonnieren Sie jetzt unseren Newsletter oder folgen Sie uns ganz einfach auf Facebook. So bleiben Sie immer up to date!

www.iX.de/newsletter www.facebook.com/iX.magazin 154

c't 18/2015 jetzt im Handel iX 9/2015




Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.