Äventyr i molnet – del 1

Inledning

Det är mycket prat om Cloud Computing nuförtiden. Amazon EC2, Google App Engine, SpringSource CloudFoundry, och nu snart Windows Azure.

Detta är första delen i en serie som beskriver utvecklingen av Eats-o-matic, som kommer att köras på Google App Engine (GAE).

Häng med!

Gör det mest riskfyllda först

En bra princip inom agil systemutveckling är ju att göra det mest riskfyllda först, och i fallet GAE är det naturligtvis att driftsätta sin applikation.

Det här med applikationer i molnet, funkar det verkligen?Har jag brutit mot någon av programmeringsreglerna? Hur hanterar jag applikationen när den väl är i drift? Finns det driftstatistik? Hur kommer man åt loggarna?

Så många frågor, snabbaste sättet att få svar är att testa!

Så jag registrerade ett GAE-konto och skapade applikations-ID:t “eats-o-matic”.

Sedan skrev jag en webbapplikation (host, host), som jag deployade inifrån Eclipse.

Deployförfarandet var löjligt enkelt. Jag klickade på det blåa planet på knappraden, Eclipse frågade efter min GMail-address, lösenord samt GAE-identitet på applikationen.

Så snart applikationen var uppladdad fanns den tillgänglig på https://eats-o-matic.appspot.com.

Så, då var det “svåraste” avklarat!

Om Eats-o-matic

Jag vill inte avslöja för mycket om applikationen i förväg, för då kommer du bara att sno min idé! Men jag kan säga så mycket som att det har med mat att göra.

Å nej, inte ännu en receptsajt!

Lugn, bara lugn. Du kommer att få se! (Se där, ännu en anledning att följa denna blogg…)

Versionshantering i Google App Engine

GAE gör det möjligt att ha flera versioner av samma applikation i drift samtidigt. Man väljer i GAE-konsolen vilken som skall vara default. Detta gör det möjligt att förhandstesta en ny version innan den går live.

Du kan testa detta själv på följande länkar:

  1. https://4.latest.eats-o-matic.appspot.com/ (OBS: webbläsaren kommer kanske att varna för felaktigt SSL-certifikat!)
  2. https://5.latest.eats-o-matic.appspot.com/ (OBS: webbläsaren kommer kanske att varna för felaktigt SSL-certifikat!)

Går du till https://eats-o-matic.appspot.com/ får du den som jag har satt till default.

Alias

Det är ju trevligt om ens applikation har ett namn inom ens egen domän. Detta är väldigt lätt ordnat.
Lägg till ett CNAME som pekar på ghs.google.com i din DNS och lägg till detta alias i Google Apps-konsolen. Så man kommer även åt min app via http://eats-o-matic.hit.se, eftersom min privata Google Appsdomän heter hit.se.

Google Apps och Google App Engine, vad är skillnaden?

Google Apps är en samling molnbaserade tjänster (Software as a Service, SaaS) som Google erbjuder företag och organisationer:

  • Email (GMail)
  • Calendar
  • Chat (Google Talk)
  • Docs (ordbehandling, kalkyl och presentation)
  • Sites (wiki på steroider)
  • Apps (Google App Engine-applikationer)

Så man kan säga att GAE är en delmängd av Google Apps.
Härnäst

Jag kommer att skriva ett nytt blogginlägg varje gång som jag driftsätter en ny version, och skriva något om de erfarenheter som jag har gjort under den “sprinten”. Jag lovar inte någon speciell utgivningstakt, eftersom detta är ett hobbyprojekt. Hoppas ni har förstående för det.

Stay tuned…

5 responses on “Äventyr i molnet – del 1

  1. Go Olle!

    Jag provade också GAE men envisades med att köra Wicket vilket drog på mig en del besvär. Miljön är ju annorlunda.

    Hur gör du? GWT?

    Sedan har du persisteringen framför dig också…

    Ser fram emot nästa avsnitt!

  2. Jag har kollat noga vilka webbramverk som fungerar i GAE. Tyvärr så fungerar inte min favorit Tapestry 5.1 (5.0 fungerar), så jag bestämde mig för att använda GWT. Jag vill ha en enkel resa, och inte stöta på en massa integrationskrångel.

    Visserligen har jag aldrig programmerat i GWT förut, men hur svårt kan det vara?

  3. Famous last words.

    Det är inte så svårt, tyckte jag, efter det lilla jag gjorde. Men ganska tråkigt, lite som Swing.

    Swing – träligt
    HTML/CSS/Ajax – träigt

  4. Äntligen lite äkta erfarenheter från molnet. Ser fram emot att läsa mer!

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.

This site uses Akismet to reduce spam. Learn how your comment data is processed.