Sammanställning av applikationer i City Cloud

Özgür Bal Uncategorized Leave a Comment

source code
Om du är programmerare, är du väl medveten om den processen som kallas “Compilation”, som i princip tar källkoden och omvandlar den till en körbar fil eller i vissa fall till bytekod som sedan tolkas av ett annat program.

Tack vare den konstant ökande datorkraft som finns tillgänglig, kan denna process vara snabb och gjord på en hemdator i många fall. I vissa fall kan det ta några minuter men ibland klart längre. Tänk om en programmerare, som måste testa ny kod flera gånger om dagen innan det fungerar, börjar få mycket inaktiv tid pga den förlängda tiden det tar att kompilera. Denna processen kan ta timmar ibland, som sätter in datorn i en mycket tung situation och blir nästan oanvändbar för annat.

I denna artikel kommer vi att berätta om ett möjligt sätt att göra denna processen snabbare och några tips som kan vara väl värda att läsa och fundera om de kan vara nyttiga för dig.

Varför kompilera på avstånd?

Även om du har en snabb dator, är chansen att du fortfarande kan behöva mer datorkraft. Cloud computing erbjuder dig datorkraft, och ännu bättre, du bestämmer hur mycket av det att använda och när.

Kompilera på avstånd garanterar din dator frihet att göra andra intensiva uppgifter, som kodning/ avkodning, testa applikationer osv. Det är också bra om du bara behöver ett smidigt sätt att använda dina vardagliga applikationer.

Ibland måste du se till att ditt program körs i olika versioner av samma plattform, eller olika plattformar och operativsystem. Du kan köra virtualisering lokalt med olika applikationer, men på det här sättet behöver du inte oroa dig för att sätta upp något mer än servrarna själva. Glöm inte att de kan användas för andra uppgifter också.

Det finns utan tvekan många fall där kompilering på en server lönar sig, så låt oss se hur man skulle göra detta.

Låter bra, men hur gör jag?

distccmon-gnome-2003-09-23-01I princip allt du behöver göra är att skapa nya servrar och ställa upp kompilatorer därefter. Med vissa kunskaper kan du ha flera servrar vilande (avstängda när de inte används), med olika kompilatorer, versioner och plattformar. Du kan sedan starta upp dem, kompilera och sedan stänga av dem igen.

När vi pratar om uppsättning av kompilatorer och plattformar, menar vi installation av dina kompilatorer och lite verktyg för distribuerad kompilering. Dessa verktyg startar flera instanser av kompilering processen på olika maskiner, och sedan länkas allt tillbaka. Exempel är tex välkända DistCC (under Linux) eller Xoreax’s IncrediBuild (under Windows, med en licensavgift).

En nackdel med denna metod är att du måste ladda upp alla ändringar till koden och sedan ladda ner den körbara filen för att testa det lokalt. Men tack vare versionshantering kan du göra detta lätt, eftersom den i allmänhet laddar upp små förändringar och låter dig hålla koll på ändringar. Detta är också ett bra sätt att säkerhetskopiera din kod, vilket är ett välkommet tillskott. För att ladda ner kan du ställa en snabb webbserver som ger dig en webbplats för att hämta alla filer snabbt, eller du kan göra det via ftp.

buildmonitor_progress_small
Ett annat sätt att dra nytta av en fjärrservrar är att använda en hel del verktyg för att automatisera processen. Du kan även instruera programvaran för versionshantering för att sammanställa en ny version så fort små förändringar dyker upp. Du kan också ha ett skript som hämtar den senaste versionen sent på natten (vanligen kallat natt versioner ) och ha en ny version redo till din nästa morgons kaffe. Detta tillsammans med alla typer av felrapporter. Som du kan se, möjligheterna är oändliga.

Till slut, tack vare City Cloud API, du kan automatisera start/avstängning av servrar efter dina datorbehov vilket sparar ytterligare pengar i slutänden.

Kostnadseffektivt

Självklart, att ha dedikerade servrar är inte helt gratis men då betalning bara sker under tider du använder dem är kostnaden förhållandevis mycket låg för den tiden du sparar. I de flesta fall du behöver inte att ha servrar igång hela tiden. Tittar man på den relativa kostnaden för en lön och vad en server eller flera kostar ser man snabbt att större effektivitet för den som jobbar är värt mycket.

Projekt skalar vanligtvis från en snabb kompilering i början, där det är nog inte många funktioner, till flera minuter och även timmar. På samma sätt kan du börja med bara en server och sedan skala upp när kod komplexitet ökar. Allt beroende på jobbets storlek och hur snabbt du kräver resultatet.

Allt detta gör att ditt projekt är en framtidssäkrad funktion. Det innebär att du inte behöver köpa stor del av hårdvara i början och vara säker att du kommer att ha full kontroll när du behöver det.

Slutsats

Cloud computing får fler och fler användningsområden allteftersom tekniken och användarna mognar i användandet. Lokalt eller på distans, det spelar ingen roll, virtualisering är fortfarande densamma. Flera åtnjuter redan denna metods fördelar, låt det vara för stresstester, nattliga versioner, kompatibilitetstestning eller plattformsutveckling.

Nästa gång kommer vi tillbaka till detta ämne visar vi dig grundläggande exempel på hur man använder distcc att kompilera ditt projekt med flera servrar.