Veröffentlicht in Cloud Computing am 15.01.2011
0
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.
Veröffentlicht in Cloud Computing am 13.01.2011
0

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.
Veröffentlicht in Allgemein am 01.01.2011
0
Ich wünsche allen Lesern ein frohes neues Jahr 2011. Zeit genug sich mal wieder mit den IT-Trends für das kommende Jahr zu beschäftigen. Fakt ist wohl, dass die großen Analysten wie Gartner, Ovum, Forrester, PAC und IDC sich diesmal erstaunlich einig sind, was das Thema Cloud Computing betrifft. So sehen alle in dem Thema ein großes Wachstum für das Jahr 2011. Bei Gartner steht das Thema sogar auf dem ersten Platz der wichtigsten strategischen Technologien.
Für mich bedeutet das, dass ich mich verstärkt mit dem Thema Cloud Computing im kommenden Jahr auseinandersetzen werde. Weitere Schwerpunkte dieses Blogs werden die Themen Enterprise 2.0 (z.B. Social Communications and Collaboration) und Projektmanagement sein. Ich werde in Kürze noch die Kategorien entsprechend umorganisieren und damit für eine klarere Struktur sorgen.
Ein Auszug der Gartner Lister, die im Orginal hier zu finden ist:
- Cloud Computing
- Mobile Applications and Media Tablets
- Social Communications and Collaboration
- Video
- Next Generation Analytics
- Social Analytics
- Context-Aware Computing
- Storage Class Memory
- Ubiquitous Computing
- Fabric-Based Infrastructure and Computers
Ich sehe ebenfalls in den Themen Cloud, Apps und soziale Netzwerke einen riesen Markt für die Zukunft. Durch die aktuellen Smartphones und inzwischen bezahlbaren Tarifen, ist das Apps-Thema sicherlich ein stark wachsender Markt. Ebenso wie im letzten Jahr werden uns Facebook und Co. sicherlich noch weiter begleiten. Klar ist auch die Abgrenzung die Gartner in diesem Bereich getroffen hat:
- Social networking
- Social collaboration
- Social publishing
- Social feedback
Die Nutzung von Blogs und Wikis ist im Firmenalltag bereits nicht mehr wegzudenken. Ebenso die Nutzung von Business-Netzwerken wie Xing. Zunehmend präsentieren Firmen aber auch ihre Produkte, Ideen und Visionen auf Plattformen wie YouTube oder Flickr. Daduch haben sie verstärkt die Möglichkeit Feedback zu den eingestellten Informationen zu erhalten. Bei dem Thema Cloud Computing handelt es sich um eine bestimmte Art des Outsourcings, was sich insbesondere für kleinere und mittlere Unternehmen lohnt. Aber auch große Unternehmen können von diesem Trend profitieren, was sich genau dahinter verbirgt, werde ich in meinem nächsten Blog-Beitrag etwas näher beleuchten.
Veröffentlicht in Allgemein am 30.11.2010
2

Ich habe mich vor ein paar Tagen mit dieser Frage beschäftigt, als mein Sohn mir wieder seine Weihnachtswünsche mitgeteilt hat, die vollkommen von der ursprünglichen Planung abweichen. Dabei ist mir erst die Nähe zum Projektgeschäft aufgefallen und die gemeinsamen Probleme, wenn man die Sache nicht richtig angeht.
Fangen wir mal vorne an. Im Rahmen einer Anforderungsanalyse (Blättern durch den Spielzeugkatalog) entstehen erste Ideen. Die daraus entstandenen Anforderungen werden bei uns in ein Lastenheft (Wunschzettel) geschrieben. Dann folgt eine kurze Diskussion darüber, dass nicht alle Anforderungen in der gegebenen Zeit umgesetzt werden können, da die Ziele vollkommen überzogen sind. Zur Umsetzung aller Anforderungen müssten noch weitaus mehr Meilensteine gesetzt werden als in dem ursprünglichen Zeitplan (Nikolaus und Weihnachten). Meilensteine wie Ostern, Geburtstag und nochmal Weihnachten… Also haben wir den Rahmen festgelegt und uns auf den Liefertermin geeinigt – Weihnachten eben.
Das Projektteam (meine Frau und ich) hat also versucht die Anforderungen umzusetzen und dabei in täglichen Meetings (Abends auf dem Sofa) den Projektfortschritt untereinander abgestimmt. So agil sind wir schon. Die Rückkopplung zum Kunden habe ich übernommen, indem ich hin und wieder mal nachgefragt habe, ob die Anforderungen noch stabil sind. Tatsächlich habe ich vor ein paar Tagen festgestellt, dass sich die Wünsche vollkommen geändert haben. Nun sollte es ja im agilen Projektumfeld keine große Schwierigkeit geben, wenn sich die Anforderungen ändern. Vermutlich steht auch ein Scrum-basiertes Projekt vor dem Aus, wenn die Anforderungen sich um 180° drehen. Wir haben so allerdings noch die Möglichkeit Teile der ursprünglichen Planung zu verwerfen und auf die neuen Anforderungen einzugehen. Das Change-Management wird auch wieder auf dem Wunschzettel durchgeführt. Dabei ist mir aufgefallen, dass es sinnvoll ist auch bei so kleinen Projekten die Anforderungen mit einem Datum zu versehen.
Für mich stellt sich nun die Frage, ob der Weihnachtsmann agil arbeiten sollte oder eher klassisch Phasenorientiert. Ich bin zu der Überzeugung gekommen, dass ein agiles Vorgehen auch hier hilft. Denn neben den geänderten Anforderungen hat man so großen Einfluss auf die Erwartungshaltung des Kunden – und das ist nicht nur Weihnachten wichtig.

Wie Hochleistungsteams funktionieren wurde vorgestern in der ZDF-Sendung “Abenteuer Wissen” am Beispiel von Regatta-Segeln erklärt. Der Beitrag ist noch online verfügbar und weist aus meiner Sicht viele Parallelen zur agilen Softwareentwicklung auf. Insbesondere die Retrospektive wurde in dem Beitrag als einer der zentralen Schlüssel für den Erfolg von Teams identifiziert. Dabei gilt sowohl die Selbstreflektion jedes Einzelnen, als auch die der ganzen Gruppe.
Bevor aus einer Gruppe allerdings ein Team wird ist es notwendig, dass alle ein gemeinsames Ziel vor Augen und auch verinnerlicht haben. Das heißt, in den Köpfen der Mitglieder ist zum einen ihre Teilaufgabe hinterlegt, zum anderen aber auch das Big Picture. (Für das Big Picture in der Softwareentwicklung eignet sich der “Elevator Pitch” hervorragend).
Wichtig ist für die Teambildung der richtige Charakter der Mitglieder. Man braucht Leute mit den richtigen Wesenszügen und Kompetenzen, denen man vertrauen kann. Alle müssen sie unter einer klaren Führung zusammenarbeiten. Ein Team ist kein Ort der Selbstprofilierung oder individueller Machtstrategien.
Wer nähere Informationen zu dem Thema sucht, findet sicherlich was auf dem Blog von Winfried Berner. Dort habe ich einen interessanten Beitrag über die Geheimnisse gut funktionierender Arbeitsgruppen gefunden, der das Thema aus Sicht von Projektteams erläutert.

Ich habe in den letzten Wochen die UML als Kommunikationsmittel für mich entdeckt. Angefangen mit Activity Diagramme, die ich in Visio gezeichnet habe, über Use Case und Sequence Diagramme.
Ich rede an dieser Stelle aber nicht von UML als Modellierungssprache um daraus fertigen Code zu generieren oder gar erweiterte Ansätze wie MDD/MDA. Ich spreche von der UML als Mittel zur Kommunikation mit Stakeholdern oder Entwicklern.
Für mich der derzeit wichtigste Diagramm-Typ ist das Activity Diagramm. Das nutze ich zur Prozesserhebung und Modellierung. Es ist zwar komplexer als beispielsweise ein Sequence Diagramm, allerdings bietet es die Möglichkeit alternative Szenarien im Ablauf darzustellen. Diese Diagramme zeichne ich mit dem altbekannten Microsoft Visio. Allerdings nutze ich nicht die mitgelieferten Stencils, sondern die von Pavel Hruby, welche sich für das einfache Zeichnen ohne Validieren besser eignen. Zudem unterstützen diese Stencils die UML 2.2 und sind für alle gängigen Visio Versionen frei erhältlich.
Für die Sequence Diagramme nutze ich die Webanwendung Websequencediagrams.com. Ich habe bisher noch kein einfacheres Tool gefunden, um diese Art von Diagrammen zu erstellen. Besonders gefällt mir die Möglichkeit den Style einzustellen. Für diejenigen, die weitere UML-Diagramme online erzeugen möchten, bietet sich die Website yuml.me an. Dort kann man neben Use Case Diagrammen auch Class- und Activity Diagramme erzeugen. Alle Schaubilder können mittels URL in Webseiten, Wikis und Blogs eingebunden werden, was den einfachen Sketching und Kommunikations-Charakter unterstreicht.
So kann man mit diesen einfachen grafischen Methoden das Productbacklog detaillieren und User Stories für die einzelnen Sprints vorbereiten.