We all have heard about the typical current segmentation of cloud offerings. Let’s recall them:

  • SaaS – Software as a Service
  • PaaS – Platform as a Service – to build SaaS on
  • IaaS – Infrastructure as a Service – to build PaaS (and sometimes SaaS) on

Now, while I am still fascinated by the discussion around private “cloud” being somehow equivalent to a “public” cloud, I am really blown away by this one here. ITWorldCanada today mentions a new service category that IBM is offering to probably give some traction to it’s private cloud offering: Software Infrastructure as a Service.
I assume, this would then provide the next evolution in cloud computing with 5 letter acronyms. Providing even more synergetic global advantage and also more scale.

The company has developed this business analytics service (which isn’t the bad idea in the picture) on it’s “blue insight” platform and tends to give it away to the installation base to create “per customer” analytics services.

Hey ! Why can’t you guys wake up and provide a secure software service for clients to use ? Providing an on premises option is probably a good idea, but I refuse to call this thing a cloud offering as long as it forces you back on premises with all the investment hurdle and maintainance troubles.
Shouldn’t customers have a real choice somewhere to match their flavor and pace of cloud adoption ?

Looking forward to your comments !
Please post them below.

This should not be a huge surprise: To make clever use of the Azure VMRole, you will have clarified a demand for providing custom images. Why ? Simply because if there is no need for this, then you could find more intelligent ways to script an Azure WorkerRole in admin mode.

So let’s assume, that there is a need for a preconfigured VMImage. If you start creating one  (WindowsServer 2008 R2 clearly), then you end up with a vhd file that represents a data volume of 5 GB or more, then any upload from a 2MBit upstream lab environment will take 5+ hours. In reality, you often end up with a lower upstream, ineffective quality of service or other environmental factors limiting your transfer. Our R&D has already seen upload times of  3 days.
Now, what happens, when you look at such amazing transfer conditions ? The connection is likely to break at some point during the stream.

Is this funny ? Probably not. Is it your fault ?
No. Is it Microsoft’s fault ? No. Totally out of control of the Datacenter.
The internet gives. And the internet takes. (I will patent this one :) )

For that reason, our team is working on an upload assistance tool – we will probably make available in code if you are interested. Rough feature set

  • create chunks from the file before uploading it
  • optional encryption
  • mixing the sequence of the file parts (Yes… security, I know. But we like that ! )
  • Uploading the presumably small parts multithreaded
  • Reassambling (and optionally decrypting) them in the datacenter
  • resume previous uploads (maximum loss is 2 or 3 chunks) after breaking connections
  • Putting the reassambled file into a blob of choice

If you are running into breaking uploads, please drop me a line, we will consider leaving you an early version of the tool to hop over this limitation.

Any comments ?
Put them in the Comments section below. I am looking forward to your thoughts.

Windows Azure is a Platform-as-a-Service offering. Many people have already recognized the power and synergetic opportunity behind this approach to offering a cloud platform. Living at the abstraction layer above infrastructural offerings, Azure is pretty different from IaaS offerings. It’s primary focus is: enabling developers to build applications like MySpace, eBay, ciao.com or  facebook without – and that’s the important part – having to worry about or deal with infrastructure.

That way, every piece of web you put on Windows Azure is automatically loadbalanced. That’s a hell of a feature, really ! Also, that makes you implicitly scalable, if you managed to make your app stateless. It’s really amazing, what the platform does for you. Really really amazing. There’s tons of more features and we’re discussing all of them in detail in posts, articles, videos. So I don’t want to dive into a platform overview here.

One of the ideas behind the Azure platform, people usually don’t like, is the loss of direct control. You upload your packetized social network frontend and services to the platform and that’s it. No ability to configure IP-Adresses or do RemoteDesktop sessions and so on. All of that is simply explained: you don’t need to have that sort of access and you don’t really want it. Azure will take care of all of that. Theoretically.
Practically there have been things this paradigm could not fully answer. For instance, if you need to bring preinstalled “machines” from you virtualization grid to the cloud. Or when you need a part of monolithic legacy with your .NET 4 MVC 3 Webapp that manually dials and sends faxes. In such cases, the easiest way to think about it is: let’s put a Virtual Machine on Amazon’s EC2.

Now, EC2 is an IaaS offering. It is very good, innovative in it’s scope and you almost never hear a bad word from a customer. So this sounds like a pretty good idea. Besides, you can control everything from the IP to the restart schedule. And it this case, you can accept the tradeoff, that you will have to care about the infrastructure, the updates, patches along with a well crafted how-to-scale-this idea.

With the arrival of the WindowsAzure VMRole, many people start to think of it as probably being  ”just like other VMs in the cloud”. Yes… and that is where it happens.
Azure VMRole is NOT like other VMs in the cloud and it won’t be for a long time. Azure VMs are a hybrid approach that from my perspective are neither VMs nor platform roles. And when using them – which you can easily start by doing little more than uploading a WindowsServer 2008 R2 Hypervisor VM – you need to understand some very basic exceptions to the “VMs in the cloud” manifesto.

  1. Azure VMs don’t have static IPs
  2. In fact, the IP changes with each redeployment or even more regular
  3. Azure VMs don’t live forever
  4. You need two of them to make it into a high availability scenario
  5. If you have more than one machine in your subscription, they share the IP address
  6. You have very limited and complex ways of talking to exactly one of the machines
  7. That makes you want to have VMs that “pick” jobs from a queue instead of waiting for them to be pushed
  8. The fabric controller will give you a new VM, if one of your existing instances crash, but it will start with the naked image you provided. So probably you don’t want to hold your produced data in the VM and put it on AzureDrives or manually feed the Blobs.

Do we recommend the usage of Azure VMRoles ?
Only after a thorough architectural design assessment and only after evaluating the less “hybrid” alternatives, preferably the PaaS paradigm. If you can, go there.

Any questions ?
Put them in the boxes below :)

Cheers,
Markus

Hi Everybody,

glad you made it to this blog. I will be posting about cloud computing as I understand it. I will share my views related to general aspects and drivers of this disruptive happening. And I will take you with me to journeys into the technical details, software architecture and business scenarios.

Your feedback and questions are always appreciated and I will put in as much of my personal time as I can to answer and expand on new evolving ideas.

From Stuttgart with uncondensed greetings,
Markus

Natürlich musste das passieren. Wieder ist jemand aus Ihrem Bekanntenkreis, nennen wir die Dame “ein Freund”, auf ein nützliches, bis dahin völlig unbekanntes Internetangebot aufmerksam geworden und wird jetzt mit Mahnungen und Hinweisen bedroht. 96 € müsse man zahlen, man habe ja schließlich die 14 tägige Widerspruchsfrist versäumt.

Aha… ein Augenöffner. “Ein Freund” war sich nämlich garnicht bewußt, ein kostenpflichtiges Angebot auf dem Schirm zu haben. Schaut man genauer hin, ist das nicht verwunderlich. Zwar arbeiten deutsche Internetpioniere mit aller Sorgfalt und unter der mindestens ebenso sorgfältigen Maßgabe der geltenden Rechtsprechung, aber wo Menschen arbeiten, passieren offenbar völlig unbeabsichtigte Fehler.

  • Der Dienst sieht versehentlich auf der Startseite und durch den kompletten Anmeldeprozess hindurch aus, wie ein typischer, kostenfreier Service.
  • Die persönlichen Daten verlangen keine Angabe von Zahlungsmitteln oder Bankverbindungen
  • Eine “Preisauszeichnung” oder ähnliche Hinweise fehlen zur Gänze. Es entsteht sogar der völlig ungewollte Eindruck, dass das praktische Angebot mit einem ebenso kostenlosen Gewinnspiel verbunden sei.
  • Beim Blick in die AGB offenbart sich ebenso wenig verdächtiges. (Ja, der Anbieter geht selbstverständlich davon aus, das man diese gelesen hat. Das ist offenbar, was man über das zu erwartende Verhalten von Nutzern kostenloser Dienste gelernt hat.) Erst auf der dritten Bildschirmseite steht, dass der Nutzer sich zur Zahlung von 96 € pro Jahr verpflichte, damit Webtains den Zugang zum System gewähre.

Während der Mehrwert des Dienstes und die hohen Erfindungsgleichen Anteile der Software unübersehbar und unendlich wertvoll scheinen, hat der Anbieter hier trotzdem Pech.
Möglicherweise könnte ein Gericht nämlich urteilen, dass diese Art des Verkaufens nicht ausreichend fair sei. Möglicherweise ist das auch der Grund, warum “ein Freund” nach einer Serie immer unfreundlicherer Mahnschreiben am Ende nichts mehr vom Anbieter hören wird. Es lohnt sich für den aufrichtigen und gutgemeinten Betrieb des Erfinders nicht, für die wage Hoffnung auf 96 € die öffentliche Schelte eines Amtsrichters zu kassieren.

Glück für alle, die sich über den hohen Preis nicht bewußt waren, ja möglicherweise garkeine 96 € für einen Service zahlen wollten, der typischerweise kostenfrei verfügbar ist: Sie ignorieren die Schreiben oder widersprechen kurz und formlos dem unterstellten Vertrag. Und schon sind Sie frei und können ohne Angst ein besseres Angebot finden.

Vielleicht finden wir als Gesellschaft in nächster Zukunft Lösungen, die die kreative Schöpfungskraft unserer Pioniere in brauchbare Bahnen lenkt und die verunsicherten User vor solchen Unfällen schützt.

Those of you who attended the “.NET in the Cloud” dotnetpro powerday in Munich, will surely remember an interesting closing discussion that lead to the following shortlist of 14 bad(est) habits for cloud development.

Again, my high appreciation for the open minded and fascinating discussion, especially to Christian and Dominick ! May this serve as a rough orientation for those unlucky few of you who missed the event :)

  1. Wanting too much at once: “Start too big”
  2. Weak passwords, especially on your LiveId, OpenId and so on
  3. Deciding that 1 Instance is enough
  4. Massive use of in memory sessions and other stateful implementations
  5. Automatically scaling your app against CPU load, thus investing millions in your next DoS attack
  6. Developing and testing only against the local cloud simulator
  7. Missing Idempotency
  8. Storing results in the serving instance
  9. Ignoring backup.
  10. Writing the software first and … then choosing the platform because cloud is just another deployment option.
  11. Writing the software first and … adding security.
  12. Writing the software first and … adding service architecture.
  13. Designing for beauty.
  14. Writing the software first and … then doing ROI and TCO calculations.

Questions ? Comments ?
Absolutely welcome ! Please post them in the box below.

Erstaunlich. Ich erinnere mich an ein Gespräch mit einem der wenigen ernsthaften VCs in Deutschland. VCs, Venture Capital Geber sind die erste Anspielstation für jedes StartUp. Und auch, wenn in aller Regel VCs in 99,9% der vorgestellten StartUps nicht investieren, nehmen Sie eine wichtige erzieherische Aufgabe wahr. Sie rufen junge Unternehmer zu selbstkritischer Planung und Sorgfalt auf. Sorgfalt in der Zielsetzung, Sorgfalt in der Formulierung Ihrer Vision, Sorgfalt in der realistischen Planung von Kosten, Risiken und Chancen.

In diesem Gespräch kamen wir – das StartUp – und der VC uns sehr schnell näher. Sympathie und gegenseitiges Interesse lassen in einer entspannten Runde schnell Euphorie und Begeisterung aufkommen. Da wir beide extreme Fans von Software und Internet sind, kamen wir auf ein Phänomen zu sprechen, dass relativ neu und schwer durchschaubar war: Social Games. Lange bevor Facebook entschieden hat, FarmVille und MafiaWars Informationsschwälle von den Walls seiner Mitglieder zu entfernen, ja lange bevor diese dort überhaupt aufgefallen wären.
Uns war erstaunlich schwer zu vermitteln, dass es irgendeinen Sinn machen soll, mit viel Geld ein kostenloses Spiel zu entwickeln, damit man anschließend die größte Mühe hat, die Server und Verwaltung für Millionen von Spielern bereitzustellen.

Mittlerweile hat FarmVille über 70 Millionen Spieler. Mittlerweile hat Disney Playdom für einen hohen dreistelligen Millionenbetrag gekauft. Mittlerweile denken große Markenhersteller darüber nach, wie Sie mit SocialGames noch näher an Ihre Zielgruppe heranrücken. Trotzdem. Wir hatten immer noch Mühe, uns vorzustellen, dass es immer neue Spiele geben kann, die auf den immergleichen Effekt aufbauen. Nämlich, dass wenige Spieler bereit sind, sich einen “virtuellen” Vorteil in einem Spiel (das möglicherweise den Namen garnicht verdient) zu erkaufen, während der Großteil der Spieler das nie tun würde.

Heute wissen wir es besser. Mit Odigene hat unser Team das erste SocialGame unter dem neuen Lable “oz games” online gestellt. Betreibt man ein solches Spiel und spielt man auch selbst mit, kehrt sich die Wertvorstellung ganz langsam, aber auch sehr nachhaltig um.  Unterhaltsam, fesselnd, “süchtig machend” ist das tägliche Geschehen, dass die vielen User in der Platform durch Ihre Interaktionen erzeugen. Für viele Spieler eine kostenlose, unverbindliche aber spaßige Beschäftigung. Viel einfacher als die komplizierten Spiele, die man von der Industrie gewohnt ist. Viel zugänglicher für normale Menschen, die von Ego-Shooter-Profis schon lange hinter sich gelassen wurden. Es ist erstaunlich, wie fair und selbstverständlich es sich plötzlich anfühlt, für unzählige Stunden guter Unterhaltung hin- und wieder 2 oder 3 Euro in das eigene InGame Ego zu investieren.

Danke an die Mitspieler, die wie schon so oft im Web 2.0 die Qualität und Konstanz des Angebots ausmachen. Danke an die Entwickler, die sich keine Nacht der Ruhe gönnen und immer neue Konzepte austüfteln, um den Rest von uns zu unterhalten und zum schmunzeln oder fluchen zu bringen.
Heute wissen wir es zu schätzen :)

Wenn Sie noch nicht wissen, wovon ich hier schreibe: Es wird Zeit.
Eine neue Erzählform ist wiedergeboren.
Schauen Sie doch mal rein, zum Beispiel in Odigene.

Geben wir’s zu. Irgendwie ist der Gedanke für die meisten von uns echt beängstigend. Da soll man für etwas bezahlen, dass nicht existiert. Man kann es nicht in die Hände nehmen, einbuddeln, später wieder ausgraben, weitwerfen oder andere Dinge damit machen.

Und doch: Nicht erst seit Amazon vor einigen Tagen mitgeteilt hat, dass Sie mehr digitale Bücher verkaufen als Hardcopies wissen wir: Es ist nicht mehr auzuhalten. Die virtuellen Güter sind auf dem Vormarsch. iTunes Songs, World Of Warcraft Charactere, digitale Bildrechte, ein Grundstück in SecondLife. Erschreckend, wenn man da gedanklich nicht mehr ganz folgen kann.

Aber sehen wir’s gelassen. Es geht nicht nur viel weniger Eigentum kaputt, verschleißt oder wird gestohlen, sondern so neu ist das Konzept für uns Menschen auch nicht. Eine Oper von Mozart hat einen hohen Wert, ist aber kein physikalischer Gegenstand, sondern eher ein Konzept, ein Plan für ein fulminantes LiveEvent. Eine Idee, eine Erfindung, ein Name, eine Marke, Verliebtsein, Träumen… alles Dinge, denen wir Wert beimessen, ohne Sie anfassen zu können.

Da passen doch ein paar digitale Bücher gut dazu :)

Geht doch :) Natürlich weiß auch Microsoft, dass Software in der Cloud nicht das selbe ist, wie Software auf dem Desktop oder klassische Webanwendungen. Wer in den letzten Monaten einen unserer Vorträge auf den prio Powerdays oder Entwicklertagen in Karlsruhe gesehen hat, kann sich erinnern.
Für alle anderen: Macht Euch die Mühe und denkt vorher drüber nach ! Gerade in der Cloud ist Software nur dann richtig gut, wenn die Architektur stimmt.

Den Guide gibt’s hier.

Managing Oneself

Posted: March 26, 2009 in announcements

Ich bin ein Fan von Peter F. Drucker.  Nicht, weil er Österreicher ist. Nicht, weil er eine große Organisation geleitet hat. Peter Drucker ist für mich ein prägender Managementtheoretiker, weil er mit vielen Managementtheorien und Managementmoden bricht. Peter Drucker hat bis kurz vor seinem Tod 2005 und bis in sein 90tes Lebensjahr hinein seine eigene Managementkarriere rückhaltlos reflektiert und aus seiner reichhaltigen Erfahrung viel mehr gemacht als einen Hochglanz-Nachruf auf sein eigenes Schaffen.

Im Gegensatz zu vielen, die heute die Seiten des Harvard-Business-Manager mit Methoden zur Personalauswahl überfluten, hat er beispielsweise den Mut auf das "gute alte" Bauchgefühl zu schwören. Zwar seien zwei Drittel aller Personalentscheidungen falsch, aber daran änderten auch aufwändige Werkzeuge, die das Management und den Bewerber Nerven kosten, nichts. Wer einmal die wesentlichen Eignungen ( Integrität, Motivation … ) eines Kandidaten gewissenhaft geprüft hat, kann sich beim Rest auf seinen Bauch verlassen. Der wisse meistens sehr gut, was er vermittle und sei ein stark unterschätzes Werkzeug.

In der Konsequenz allerdings, sei es die Pflicht eines Managers, Fehlentscheidungen auch zu erkennen und zu korrigieren. So sei ein Kandidat, der eine neue Managementposition nicht ausfüllen kann, aus dieser auch wieder zu entfernen. Es sei nicht der Fehler des Mitarbeiters, dass er in eine Überforderungssituation hineinverfrachtet wurde. Daher sei die Korrektur auch keine Bestrafung, sondern eine schlichte Notwendigkeit, die dem Mitarbeiter und der gesamten Organisation geschuldet sei.

Alles in allem hat mich dieser Ansatz in seiner Gültigkeit positiv überrascht. Er macht Mut, überhaupt zu entscheiden und gibt gleichzeitig Anregung für eventuelle Maßnahmen. Das man die von Haus aus ohnehin über Gebühr verzögern wird, liegt an der Menschlichkeit, die auch Managern immernoch zu eigen ist. Zum Glück.