0

Und nochmal die Cloud

Anknüfend an meinen letzten Beitrag, habe ich noch eine schöne ergänzende Präsentation von Dr. Paul Miller gefunden, die das Thema nochmal auf eine andere Art erläutert.:

Paul Miller geht zuerst auf ein paar allgemeine Punkte, also Eigenschaften zur Cloud ein. Dieser Teil gefällt mir besonders, da er die üblichen uniqe selling points mit passenden Bildern untermalt. Anschließend erklärt er den allgemeinen Cloud Service Stack und beleuchtet die Möglichkeiten für die Hochschulbildung.

Viel Spaß mit der gelungenen Art der Darstellung.

1

Cloud Computing – Was ist das eigentlich?

Durch die Affäre um Wikileaks-Gründer Julian Assange und die damit verbundene Abschaltung des EC2 Dienstes von Amazon, ist das Thema Cloud Computing einmal mehr in den Fokus der Berichterstattung gerückt. Alle Welt spricht von der Computing Cloud und irgendwas als Service, der dann public oder private ist. Alles klar?

Zeit sich einmal näher mit dem Thema zu beschäftigen und einen ersten Überblick über das Thema zu geben. Cloud Computing bedeutet sinngemäß „Rechnen in den Wolken“ und geht auf den uralten Wunsch zurück Rechenleistung nicht zu kaufen, sondern bedarfsabhängig zu mieten. Der Kunde braucht sich nicht um die Infrastruktur zu kümmern, sondern zahlt in Form eines Service nach Verbrauch. Durch die unterschiedlichen Teilbereiche des Cloud Computing, die Firmen über das Internet anbieten, haben sich Begriffe wie Infrastructure as a Service (IaaS), Plattform as a Service (PaaS) oder Software as a Service (SaaS) etabliert. Sie alle sind Bestandteil des Everything as a Service Paradigma (XaaS), das die gesamte Struktur der Cloud prägt. Die Cloud ist also der zusammenfassende Rahmen dieser Dienste. Es gibt diverse Versuche den Begriff Cloud Computing zu definieren. Das National Institute for Standards and Technology (NIST) hat 2009 eine Definition veröffentlicht, die auf weitgehende Akzeptanz stößt und fünf wesentliche Charakteristika des Cloud Computings nennt:

  • On-Demand Self-Service: Ein Kunde kann selbstständig Rechenressourcen abrufen und buchen, ohne dass hierzu eine Interaktion mit dem Service Provider notwendig ist.
  • Broad Network Access: Sämtliche Ressourcen sind breitbandig über das Internet erreichbar.
  • Resource Pooling: Die Rechenressourcen des Providers werden an einer Stelle gebündelt und mehreren Nutzern zur Verfügung gestellt.
  • Rapid Elasticity: Ressourcen können in Echtzeit schnell und teilweise automatisiert auf die veränderten Bedürfnisse des Nutzers angepasst werden. Aus der Sicht der Nutzer stehen unbeschränkt Ressourcen zur Verfügung, die jederzeit und in jedem Umfang gekauft bzw. genutzt werden können.
  • Measured Service: Cloud Computing Systeme kontrollieren und optimieren die Zuteilung von Ressourcen vollautomatisiert. Der Ressourcenverbrauch wird kontinuierlich gemessen, kontrolliert und berichtet, um Transparenz für den Provider und den Kunden herzustellen. Nur die genutzten Dienste und Ressourcen werden abgerechnet.

Neben diesen Eigenschaften weisen Cloud-Dienste eine Architektur auf, die durch die drei Service-Arten definiert ist:

  • Infrastructure as a Service – IaaS
  • Plattform as a Service – PaaS
  • Software as a Service – SaaS

Eine vereinfachte Darstellung zeigt wie die einzelnen Service-Arten auf dem Cloud-Service-Stack aufgebaut sind. So, oder so ähnlich wird die Cloud  zumeist erklärt. Die Bereiche sind klar abgegrenzt und können über ein Service-Interface erreicht werden, durch das der Anwender z.B. mehr Speicherplatz anfordern kann. Wenn z.B. von einem Server samt Betriebssystem die Rede ist, der über die Cloud bezogen werden kann, so spricht man von IaaS. Das bekannteste Beispiel ist derzeit die Amazon Elastic Compute Cloud (Amazon EC2). Sobald weitere Ebenen dazukommen, die für die Ausführung von bestimmten Programmen oder Applikationen erforderlich sind, spricht man von PaaS. Bekannte Beispiele sind die Windows Azure Plattform oder Googles App Engine. Darauf aufbauend werden ganze Anwendungen angeboten, die über das Web in der bereits beschriebenen Art genutzt werden. Man spricht also von SaaS. Das könnte z.B. die leere Installation eines Systems sein – vielleicht eines CMS oder Shop-Systems oder bekanntere Beispiele wie die Google Apps.

IaaS, PaaS und SaaS sind also alles Dienste die bestimmte Charakteristika aufweisen und über das Web mittels self-provisioning bezogen werden können. Sie alle gehören zur Cloud!

Nutzen Sie bereits Cloud-Dienste?

Welche Erfahrungen haben Sie damit gemacht?

Lassen Sie es mich wissen.

2

Agile System Administration (ASA)

Im aktuellen Linux Magazin habe ich einen interessanten Artikel zum Thema agile Methoden in der Systemadministration gefunden. In der Softwareentwicklung ist der agile Gedanke zunehmend verbreitet. In dem Tagesgeschäft eines IT-Administrators wird agilen Ansätzen derzeit wenig Beachtung geschenkt.

Marcel Wegermann beschreibt in dem Artikel wie sich die agilen Praktiken auf die Arbeit eines Administrators übertragen lassen. Durch Anpassen der Regeln lässt sich so eine ASA (Agile Systemadministration) auf die Beine stellen.  So werden in diesem Artikel Zehn agile Regeln für die Systemadministration aufgestellt, die sich an XP Grundpraktiken orientieren:

  1. Jede neue Funktion (z.B. Server, Service, Standleitung oder das Hosting) muss durch automatisierte Tests abgedeckt sein.
  2. Teammitglieder administrieren zu zweit an der Konsole, wenn sinnvoll
  3. Dokumentation auf Papier ist tot. Automatisierte Tests und die Konfiguration selbst sind Dokumentation genug. Kommentare ergänzen die Monitoring-Tests.
  4. Das Team bespricht jeden Notfalleinsatz in der Retrospektive. So findet es die Ursachen für Wochenend- oder Notfalleinsätze und stellt sie zügig ab.
  5. Risiken müssen aufgedeckt und schnell beseitigt werden (Transparenz schaffen)
  6. Technische Entscheidungen liegen beim Team. Alle Mitglieder tragen sie gemeinsam. Das Team allein hat die Verantwortung für den Betrieb. (Team Commitments).
  7. Die Administratoren führen Projekte iterativ und inkrementell durch.
  8. Regelmäßig wiederkehrende Aufgaben erledigen alle Teammitglieder reihum.
  9. Die Administration arbeitet möglichst zusammen an einem Ort in der Nähe des Kunden. (First- und Second-Level-Support, Entwickler oder Endanwender).
  10. Ein großer Bildschirm zeigt nach Art einer Ampel den aktuellen Status der Server und Auslastung für alle gut sichtbar an. Das fördert die osmotische Kommunikation.

Mein Fazit:

Für mich der erste Beitrag zum Thema ASA. Als großer Anhänger der agilen Methoden sind für mich die Punkte eins bis acht lohnend und sicherlich in den meisten Rechenzentren anwendbar. Eine Nagios-Installation leistet bereits  in vielen Unternehmen seine Dienste und kann für die gesamte Testautomatisierung herangezogen werden. Allerdings ist es dann umso wichtiger qualifizierte Kommentare in der Konfiguration zu finden.

Punkt zwei und acht sehe ich als besonders effektiv an. Denn hier steht nicht nur der agile Gedanke im Vordergrund, sondern das Vorhandene Wissen wird auf mehrere Köpfe verteilt. Damit kann dem Problem mangelnder Vertretungen entgegen gewirkt und die Abhängigkeit von Einzelpersonen aufgelöst werden.

Aber nicht alle Ansätze lassen sich so einfach umsetzen. Insbesondere den Punkt neun sehe ich als kritisch an, denn in Zeiten von Outsourcing und Service-Rechenzentren ist die örtliche Nähe zum Kunden nicht immer möglich.

Der Einsatz von Whiteboards, Pinnwänden oder Flipcharts im Administrationsbereich kann zur Sprintplanung genutzt werden oder die Teambesprechungen unterstützen. Wie Teamräume aussehen können ist hier zu sehen. Ein Ticket-Trouble-System wie OTRS kann die auftretenden Störungen kanalisieren und ist zudem revisionssicher. Darüberhinaus ist für die Projekte ein Wiki das Tool der Wahl und zur Kommunikation mit der „Außenwelt“ kann ein Blog sehr hilfreich sein. So könnten dort aktuelle Störungen oder Planungen von Downtimes kommuniziert werden.

Insgesamt haben die agilen Methoden potenzial auch in der Systemadministration einzuziehen. Die bisherigen strikten Zuständigkeiten für Systeme oder Anwendungen können so effektiv aufgebrochen und eine höhere Dienstleistungsqualität erreichet werden.