Sunday, March 22, 2009

Clouding


The new up and coming computing cloud has unlimited uses - I just got to figure some of them out...

For example: Who is interested in unlimited computing power for a very short period of time? Well, the first thing that popped into my mind was code-breaking; brute-force breaking of encrypted data. (I don't know what that tells you about me, but, anyway...)
How do we know that all these cool new compute clouds are not used for "evil"? I guess we don't. And I guess we just have to increase out keylengths again...

Another interesting usage is of course all kinds of pattern matching that pops up in all sorts of businesses, like fraud analysis, DNA-matching, usage patterns, ...
These are all heavy processes working with wast loads of data - which is a problem. To be able to search through all that data we first have to upload it. Or store it there in the cloud in the first place. Code breaking is much more effective in that area: a small amount of data and lots of processing.

Well, now all I have to do is figure out some cool "hello cloud"-app that needs lots of CPU working with a small amount of data.

Any ideas?

Saturday, March 14, 2009

ITARC 2009


Nu i veckan som gick var jag och talade på en IASA-konferens (ITARC 2009) om molnet - The Cloud(TM). Min presentation handlade om olika utmaningen vid implementationen av en molntjänst samt en massa exempel från verkligheten.

Det var många intressanta talare. Bland annat keynoten Reuven Cohen (www.elasticvapor.com) som var den som "hittade på" molnet.

Det finns helt klart många olika affärsmöjligheter i molnet. Här följer en lista över just nu existerande molnplattformar för att köra appar:

  • MS Azure - skapa en specifik moln-app i Visual Studio och något av de språk som stöds där som du sedan kör på valfritt antal maskininstanser i Azure.

  • Google App Engine - för webappar i Python, gratis upp till 5 miljoner träffar per dag.

  • Amazon Elastic Compute Cloud (EC2) - kör kompletta images av OS, bra för intensiva beräkningsjobb där man kan parallellisera ut lasten över 100-tals eller 1000-tals maskiner.

  • Salesforce - har jag inte hunnit kolla upp ännu...


    Så det finns egentligen inte så mycket konkurrens - alla erbjuder helt olika typer av lösningar:
  • Har du en webapp som du vill köra någonstans? Har du haft turen att välja Python så kör du på Google. För alla andra språk och plattformar är det Amazons images som gäller, fast Amazon är egentligen för dyrt för att köra på kontinuerligt.
  • Ska du bygga en ny webapp? Då kommer även Azure in i bilden om du väljer att bygga på i Visual Studio.


    Det ultimata molnet som jag föreställer mig det innebär en mer generell exekveringsplattform. Något slags hårt definierat service-API som alla tjänster i molnet måste implementera antagligen, men sedan valfritt språk. Sedan vill jag kunna ladda upp min webtjänst, mina affärslogiktjänster samt mina datatjänster till molnet. Någon slags konfiguration talar om hur de hänger ihop och jag kan starta valfritt antal instanser av mina olika tjänster, samt självklart använda sådana som exekveringsplattformen erbjuder. Schemaläggning vore ju oxo trevligt.

    Google ser ut att vara på väg åt det hållet, deras konfigurationsfil .yaml innehåller nämligen en specifikation av språk. Men som sagt just nu får man välja vad man vill så länge man väljer Python där...

    Men det kan bli otroligt spännande framöver!
  •