Die Datenflut durch Automatismen bewältigt

Big Data = Big Problem?

Johann Baumeister

Business Technology

Der Artikel „Big Data = Big Problem?“ von Johann Baumeister ist erstmalig erschienen im

Business Technology Magazin 2.2012

Die Verarbeitung der Daten

Nach der Übernahme der Daten von den Quellen in die zentralen Systeme erfolgt deren Analyse. Das kann durch Selektionen, Sortieren, Verdichten und ähnliche Logiken erfolgen. Es ist auf absehbare Zeit nicht davon auszugehen, dass all diese unterschiedlichen Informationshäppchen in einem Pool, wie etwa einer Datenbank, abgelegt werden. Vielmehr wird man auf eine ebenso breite Sammlung an unterschiedlichen Verarbeitungsprogrammen setzen müssen. Die Herausforderung besteht auch hier in der Konfiguration all dieser Programme und dem Scheduling. Um diese Verwaltung nicht manuell vornehmen zu müssen, werden Automatismen zwingend. Nur dann lassen sich die Prozesse und Jobs überhaupt in den Griff bekommen. In Unix werden Skripte fast immer in einem Unix-Shell-Dialekt (Bourne-Shell, C-Shell) erstellt. Windows wiederum kennt eine ganze Reihe an unterschiedlichen Scripting-Möglichkeiten; die neueste ist PowerShell. Bei IBM-Großrechnern wiederum ist die Job Control Language (JCL) sehr verbreitet. Um allein diese drei unterschiedlichen Systeme in einer Verwaltung zusammenzuführen, muss das Managementwerkzeug mit allen aufgeführten Scripting-Möglichkeiten zurechtkommen. Zur Verwaltung all dieser unterschiedlichen Prozesse und Tools wird man kaum um den Einsatz eines zentralen Werkzeugs, wie es beispielsweise ONE Automation von UC4 darstellt, für das Konfigurations- und Releasemanagement herum kommen. ONE Automation ermöglicht die Integration und Koordination von Workflows im Unternehmen in einem einzigen automatisierten Prozessablauf, löst die Technologiesilos auf und sorgt für Transparenz und Verknüpfungspunkte, mit denen sich Prozesse im gesamten Unternehmen anzeigen und verwalten lassen. Alle wichtigen Themen lassen sich dabei von einem einzigen Interface aus bedienen, und für Erweiterungen existieren einheitliche und offene Schnittstellen. Abbildung 1 veranschaulicht den Prozessablauf von ONE Automation.

Abb. 3: Für Big Data sind übergreifende Automatisierungsansätze wie ONE Automation gefragt
Die Rolle der Cloud im Kontext von Big Data

Ein weiterer Aspekt betrifft die Dynamik der Prozesse, die mit dem Internet und dessen Datenmengen einhergehen. Auch hierbei zeigt sich ein gravierender Unterschied zu früheren Situationen. In der Umgebung der Transaktions- oder ERP-Systeme, die für die interne Steuerung des Unternehmens eingesetzt werden, sind nahezu alle Rahmendaten bekannt und planbar. Die Menge der Benutzer des Systems etwa lässt sich leicht anhand der Mitarbeiteranzahl abschätzen. Die Nutzer eines ERP-Systems werden in der Regel während der bekannten Arbeitszeiten (8:00 bis18:00 Uhr) ihre Applikation benötigen. Abends und nachts laufen meist Sicherungs- und Batchjobs. Auch der Bedarf für Speicher oder Netzwerkbandbreite ist so relativ einfach zu ermitteln und wird kaum große Schwankungen aufweisen. Die internen IT-Systeme sind in der Regel abgeschottet, alle geforderten Leistungen sind bekannt und relativ stabil.

Wenn das Unternehmen sich aber für die Dienste des Internet öffnet, ist nichts mehr als bekannt vorauszusetzen. Die Zahl der Nutzer eines im Web angebotenen Dienstes ist theoretisch nur durch die Zahl der Internetanwender begrenzt. Die extremen Schwankungen eines geforderten Dienstes können kaum mit der eigenen IT abgefedert werden. Es wäre unsinnig, für Extremfälle einen großen Vorrat an IT-Ressourcen bereitzuhalten, sie könnten auch kaum schnell genug aktiviert werden. Infolgedessen werden die Unternehmen nicht umhinkommen, sich temporären Mehrbedarf anderweitig zu beschaffen. Jeder Eisdielenbesitzer wird bei heißem Wetter zusätzliches Personal bereitstellen und es bei Kälte oder Regen nicht anfordern. Gedeckt werden kann der temporäre IT-Bedarf am besten aus der Cloud. Es reicht aber nicht, nur einen virtuellen Server bei einem Cloud-Provider anzufordern: Die Ressourcen müssen auch sehr schnell und ebenfalls automatisiert mit den notwendigen Aufgaben bestückt werden.

Automatisiertes Deployment sorgt für schnelle Reaktionen

Das passiert im Rahmen des Deployments von IT-Diensten. Hierzu werden in der Regel Templates vorab eingerichtet, die dann schnell auf die Server auszurollen sind. Ein Template kann beispielsweise ein Webserver sein. Um die Vorlage eines Templates aber zu einem konkreten Server zu machen, muss das Template noch mit konkreten Parametern ergänzt werden. Hier wird beispielsweise festgelegt, wie viele Benutzer ein Service bedienen oder welche Daten er nutzen soll. Um somit schnell auf ein „Ereignis“ im Internet zu reagieren, muss die gesamte Kette, von der Überwachung und Erkennung des Ereignisses im Internet bis hin zur passenden Reaktion, automatisiert sein. Da dabei immer ein Sammelsurium an unterschiedlichen Produkten, Techniken und Tools zum Einsatz kommen wird, kann diese End-to-End-Automatisierung nur funktionieren, wenn die dazu eingesetzten Werkzeuge alle in Frage kommenden Systeme abdecken. Gefragt sind hierbei übergreifende Ansätze, die mit allen Welten gleichermaßen klar kommen (siehe dazu auch Kasten „Dynamik und Automatismen in der technischen Betrachtung“). Voll automatisiert lässt sich dann auch Big Data in den Griff bekommen und produktiv nutzen.

Dynamik und Automatismen in der technischen Betrachtung

Die Systeme der Zukunft müssen weitaus dynamischer werden. Wie aber sieht dies in der technischen Betrachtung aus, und welche Hilfen und Möglichkeiten stehen dafür zur Verfügung?
Das oberste Ziel der IT-Nutzung liegt in der schnellen und angemessenen Reaktion auf Ereignisse. Dies gilt für kleine Datenmengen ebenso wie für die großen Datenmengen im Sinne von Big Data. Der Unterschied liegt darin, dass große Datenmengen eben mehr Verarbeitungsleistung benötigen als kleine. Erschwerend kommt die Dynamik hinzu; um diese im geforderten Maß zu erreichen, muss an allen Stellen der IT angesetzt werden.

Alle neueren Prozessoren sind heute als Mehrkernsysteme (Multi Core) ausgeführt. Diese Kerne können individuell, dynamisch und nach Bedarf auf die anstehende Last verteilt werden. Das machen die neueren Betriebssysteme durch die integrierten Scheduling-Funktionen. Neuere Sprachen, wie etwa C# oder auch Java, erlauben die parallele (multithread) Abarbeitung von Code. Die Betriebssystemframeworks, wie etwa .NET, können nach Bedarf Codeabschnitte (Threads) erstellen oder, wenn nicht mehr benötigt, wieder deaktivieren. Ein einzelnes Programm ist damit in der Lage, nach Bedarf mehr oder weniger Leistung bereitzustellen – im IT-Fachjargon sagt man „der Code skaliert“. Als Ausführumgebungen für den Code dienen die Server. Auch sie lassen sich heute dynamisch aktivieren und wieder deaktivieren. Durch Virtualisierung und IT-Ressourcen aus der Cloud kann nach Bedarf weitere Rechenleistung dazu genommen werden. Durch Templates erfolgt eine dynamische Konfiguration, durch Load Balancer die Lastverteilung auf die Serversysteme. Was fehlt, ist die übergreifende Steuerung und Konfiguration aller Aktionen mit einem einzigen Managementtool.

Johann Baumeister studierte Informatik und hat über 25 Jahre Erfahrung in der Entwicklung und Anwendung von IT-Systemen. Er arbeitet als Projektmanager und berichtet als freier Autor regelmäßig in Fachmagazinen über seine Erfahrungen.
Geschrieben von
Johann Baumeister
Kommentare

Schreibe einen Kommentar

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