Test av Amazon EC2 server

Efter att ha sett vilka problem en krashad hårddisk eller trasig fläkt kan få för sin webbsajt så har jag sett mig om efter ”försäkring”. Dels vill jag ha backup på data, dels vill jag ha ytterligare en uppsättning hårdvara om den normala går sönder. Ett alternativ är att köpa dubbelt så mycket hårdvara som man behöver och hyra co-location-plats för detta. Ett annat alternativ kan vara att hyra den andra uppsättningen hårdvara. Prisskillnaden brukar inte bli så stor, co-location av egen dator är oftare billigare än hyra av server i längden.

Ett annat alternativ kanske skulle kunna vara Amazon EC2. EC2 betyder ECC som är en förkortning för elastic compute cloud och är en tjänst om Amazon har. EC2 är i princip en temporär Linux-baserad Virtual Private Server (VPS) som kopplas till en permanent separat lagringsenhet. Amazon har valt en teknisk lösningen som kallas Xen för VPS:en. Den praktiska skillnaden mellan EC2 och en vanlig VPS är att EC2 inte är permanent. Stängs EC2-VPS:en av så försvinner all data. Enda möjligheten att spara data är att sätta ihop en ”image” av ett operativsystem och lagra den permanent, eller att kopiera data till annan plats. Den permanenta lagringen görs för EC2 på Amazon:s lagringstjänst Amazon S3.

Amazon EC2 är, som namnet antyder, gjord för att utföra beräkningar som kan göras parallellt på flera datorer samtidigt, men den kan naturligtvis användas även för mindre uppgifter, t.ex. som tillfällig webbserver eller beräkningsdator. Som nyregistrerad har du möjlighet att direkt sätta upp upp till 20 stycken servrar som du kör parallellt. Varje server har en processor som motsvarar en 1.7Ghz XEON, har 1.75GB RAM och har en 160GB (temporär) hårddisk, och den är kopplad till internet med en dedikerad 2.5Mb lina. Detta är i princip samma datorkraft som man brukar få betala c:a 700kr per månad för om man hyr i USA. Även EC2 kostar pengar, men du betalar per timme. Kostnaden är 75öre per dator och timme du kör. Du betalar också 1:50kr per gigabyte som du skickar till/från datorn, och vill du lagra permanent så betalar du ungefär 1kr per gigabyte och månad. Använder du en EC2 VPS som man brukar använda en dedikerad webbserver så blir det relativt dyrt per månad, c:a 1000kr, mycket beroende på att bara ha datorn uppe 24 timmar om dygnet i 30 dagar kostar $72, c:a 550kr. Men EC2 är inte tänkt för webbapplikationer i första hand, utan för datorberäkningar där flera hopkopplade datorer önskas, kanske under kortare tidsperioder någon gång per månad eller per år.

Det skulle också gå att använda den som extra-webbserver om den ordinarie går sönder eller behöver avlastas. Givet att du har förberett ett operativsystem där du har webbserver och databas uppsatt så tar det bara några minuter att sätta igång en ny webbserver. Och du betalar bara när den är igång och för den permanenta lagringen av operativsystemet. Mitt operativsystem tar c:a 4GB, vilket alltså kostar 5kr per månad om den inte används.

För att konfigurera sitt operativsystem kan man endera sätta upp en egen server och skapa en ”image” av den, eller också utgå från det Fedora Core 4-operativ som Amazon erbjuder. Skapar du en egen ”image” kan valfritt Linux operativ användas, men du är låst till den Kernel som Amazon erbjuder. Att starta upp en ”default ” Fedora Core 4 tar ett par minuter när du väl registrerat dig för tjänsten och installerat de certifikat du behöver i din egen dator för att kommunicera med EC2. Efter det att du startat upp EC2 och öppnat port 22 för att kunna logga in utifrån så ser det ut så här:




och EC2 VPS fungerar som en helt vanlig server. Kommandot ”top” ger följande:



Den Fedora Core 4 som jag valde att börja från har webbservern Apache och MySQL installerade från början och det går snabbt att sätta upp få en enkel webbsida (med PHP) att fungera. Så här ser svaret från min index.php från Apache ut:



EC2 har två stora nackdelar om man vill använda den för webbtjänster. För det första är det omständligt att lagra data permanent. Skulle datorn din VPS kör på gå ner fösvinner allt du har lagrat på den lokala 160GB-disken. Även om detta troligen inte kommer att hända speciellt ofta innebär det att allt man vill vara säker på att ha kvar måste premanentlagra utanför VPS:en. För det andra så får servern inget fast IP-nummer, utan du tilldelas ett IP-nummer fört när servern startas. Vill du använda ett eget domännamn för att nå din server så måste du i så fall använda en tjänst som klarar dynamiska IP, som t.ex ZoneEdit. Med dessa nackdelar så är det uppenbart att Amazon inte tänkt att man ska använda datorerna som webbservrar i första hand, utan de ser den största potentialen hos EC2 är för beräkningar.

En EC2 VPS kan startas, övervakas och stoppas med hjälp av ett antal småprogram som du kör lokalt på din hemmadator, men det går också att styra den via ett SOAP-interface. Det är alltså möjligt att via script starta upp säg 10 datorer, flytta över lämplig data till dessa, sätta igång en beräkning, hämta tillbaka data när det är klart, och sedan stänga av de 10 serverarna automatiskt, från annan server. På så vis kan man göra automatiska batch-körningar.

Under tiden du använder din EC2 VPS så kan du direkt hos Amazon se hur många VPS:er och timmar du har använt, hur mycket trafik du skickat, och vad det kostar dig i slutet på månaden (se figur nedan). Notera att på alla priser läggs en ”tax”, moms, på c:a 25%.




Amazon S3 kan användas som användas för att lagra även andra typer av data, som t.ex. fil-backup:er.

Amazon EC2 är fortfarande i beta-stadiet, och antalet beta-testare är begränsat. Amazon öppnar för fler och fler beta-användare vartefter. De största bristerna just nu känns som de är i dokumentationen snarare än i hur det fungerar. Den kom-igång information som finns är deras Getting Started Guide, och för support så finns än så länge bara deras forum att tillgå. Detta gör att EC2 inte passar så bra för den som inte är van vid parallellisering eller Linux. Förhoppningsvis kommer EC2 att erbjudas med med ett S3-konto monterat som en disk på VPS:en, och med ett fast IP-nummer då den lanseras publikt. Då kan EC2 bli rikitgt intressant.

  1. Tobbo skriver:

    Snälla skicka

  1. mymarkup.net skriver:

    Ett elastiskt berkningsmoln

    Jag har frskt att frst vad Amazons EC2-tjnst (Elastic Compute Cloud) gr ut p. Efter att ha lst Frisim-Clas inlgg…

  2. [...] För mig som utvecklare betyder Google Application Engine att jag på sikt kommer få integrerad tillgång till ännu fler av Googles APIer. Kunna samarbeta med andra tjänster som ligger på Googles kluster av maskiner. Ifall ni inte läser ReadWriteWeb så har ni missat deras nästan veckomässiga poster om nya Twitter-mashups. Det tillkommer kanske fyra eller fem varje vecka som RWW finner tillräckligt intressanta för att nämna. Hur många Facebook-applikationer som läggs till varje vecka? Hundratals . Google vill vara den naturliga och enkla plattformen för att utveckla de här verktygen. Genom att erbjuda en gratis motsvarighet som nästan är lika bra som Amazons EC2 kan de stjäla Amazons all hipp-faktor samtidigt som de knyter webbens viktigaste resurs till sig ännu närmare. EC2 är i sig självt ingen dålig tjänst, tvärtom är den suverän. Redundant, skalbar, kostnadseffektiv (jämfört med att hosta 100 datorer själv med tillhörande support) och framförallt ryktesvis enkel att använda. [...]