Truputėlis klasikos. Šitą gabalą dar brūžint su funny rot'ais pradėjom, kai dar grot nemokėjom ir kai kerzus ir vasarą nešiot netingėjom. Štai last.fm'e yra senesnė dainos versija, o va čia suradau dar tarp failų pačią pirmąją versiją, įrašytą berods pas Grinvį namie. Ten pradžioj ir vėliau aš juokiuos :) Na, o čia naujausia dainos reinkarnacija video pavidale:
Norint naudoti kitą Linux distribuciją su Amazon EC2 nei Fedora, galima susikurti AMI'us (Amazon Machine Image) pačiam, tačiau galima naudoti ir kitų vartotojų sukurtus viešus AMI'us, ką aš beveik visad ir darydavau. Iš pradžių naudodavau debian, po to truputį vis labiau pradėjau mėgti ubuntu. Abiejų distribucijų AMI'us siūlo pvz. alestic.com. Viskas labai smagu, tačiau dar smagiau būtų naudoti Canonical (ubuntu kuriančios kompanijos) sukurtą AMI. Ir tai dabar jau įmanoma - Canonical kažkada neseniai pristatė Ubuntu Server on Amazon beta programą. Registruotis gali visi norintys. Po registracijos vartotojas įtraukiamas (berods neprivalomai) į mailing listą ir taip pat sutekiamas priėjimas prie AMI'ų:
Rašydamas paskutinį įrašą kaip tik naudojau vieną iš šių AMI'ų. Pirmą kartą prisijungus pasiūloma instaliuoti norimas tarnybas:
Sudiegus visas norimas tarnybas, root vartotojas atjungiamas, sukuriamas naujas vartotojas bei suteikiamas jam slaptažodis, kad galėtų vykdyt 'sudo' komandą (tačiau root vartotojas lieka aktyvus):
Ir jau su serveriu galima daryti, ką tik širdis geidžia. Idealiausias variantas - įdiegti visą reikalingą programinę įrangą ir išsisaugoti visą serverį kaip savo nuosavą AMI kitiems kartams.
Amazon neseniai pristatė nelabai svarbią, tačiau labai smagią ir malonią naujovę - AWS Management Console. Tai yra naršyklėje veikiantis Amazon webservisų administravimo įrankis, šiuo metu leidžiantis valdyti daugumą Amazon EC2 funkcijų. Įdomiausias jis turėtų būti norintiems išbandyti EC2 neinstaliuojant visiškai jokios programinės įrangos (nebent išskyrus SSH klientą norint prisijungti prie Linux serverių). Viskas ko reikia - Amazon parduotuvės prisijungimo duomenys.
Naujo serverio paleidimas itin paprastas (spauskite ant sumažintų ekrano nuotraukų visam grožiui):
1. Išsirenkame norimą AMI (Amazon Machine Image):
2. Pasirenkame norimų paleisti serverių kiekį, serverio tipą (skiriasi ram, cpu ir hdd parametrai), raktų porą (naudojamą norint prisijungti per ssh, reik susikurti to dar nepadarius) bei saugumo grupę (maniškėje default grupėje atidaryti 22 bei 80 portai, tačiau galima susikurti daug skirtingų grupių pagal savo skonį/poreikius) ir spaudžiame "Launch":
Trečio žingsnio nėra, serveris/-iai jau tuoj bus pasiekiami:
Štai jau matome pasiekiamą serverį:
Paspaudus "Connect" paaiškinama, kaip prisijungti (čia kogero ssh naujokams):
Iki šiol aš naudojau Elasticfox Firefox extension'ą minėtiems veiksmams atlikti ir nusiskundimų jokių lyg ir neturiu, tačiau AWS Management Console atrodo paprasčiau ir intuityviau. Taip pat nereikia nieko instaliuoti, tad prižiūrėti EC2 serverius galima bet kur, kur tik yra interneto ryšys ir naršyklė (reiks būtinai išmėgint su iPod Touch). Tikėtina, kad Elasticfox visiškai pamiršiu :-)
Kol kas nežinau, kaip (jei išvis įmanoma) pasiekti europietišką EC2. Neabejoju, kad greitu metu šis klausimas išsispręs. Ateityje AWS Management Console taip pat leis administruoti S3, SimpleDB, SQS, CloudFront, Monitoring'ą, Load-balancing'ą bei Auto-scaling'ą. Pastarieji trys kol kas tebuvo kadaise paminėti, kad bus pristatyti netolimoje ateityje.
Man visai patinka kryptis, kuria juda Amazon webservisai. Kažkada tekdavo visą amžinybę laukti atnaujinimų, o dabar vos spėju rašyt apie naujas tarnybas, naujas senų tarnybų funkcijas ir t.t. Jei ateityje sukursiu kažką (labai) didelio, tikėtina, kad "tai" gyvens Amazon serveriuose :-)
Pasirodžius pirmąjai Firefox 3.1 beta versijai aš ją išmėginau ir man ji labai patiko (ypač dėl spartos). Tuo metu berods dar neveikė delicious extension'as su ja, todėl aš net negalvojau apie migravimą. Šiandien nutariau išmėginti antrąją betą. Taip pat norėjau kaip nors priversti abi versijas veikti kartu, t.y. arba bent instaliuoti abi ir vienu metu naudoti vieną iš dviejų, arba dar geriau - abi vienu metu.
Mėgindamas pirmąją betą aš jos nekopijavau į Applications katalogą dėl failų pavadinimų konflikto (abu Firefox'ai slepiasi po Firefox.app) ir paleidau tiesiog iš .dmg konteinerio. Kiek pamenu, esant paleistai vienai iš versijų, kitos paleisti taip neleido arba spaudžiant ant kitos, atsidarydavo tik naujas pirmosios versijos langas, t.y. vienu metu nepavykdavo paleisti dviejų skirtingų versijų (panašiai berods viskas veikia ir su Windows). Šį kartą aš atsisiuntęs betą ją išsaugojau Applications kataloge Firefox31b2.app pavadinimu. Taip pat susikūriau naują profilį, kad kiltų mažiau rūpesčių su extension'ais ir pan. Tai daroma labai paprastai, Terminal'o pagalba:
Profile manager'yje taip pat pažymėjau, kad kiekvieną kartą manęs klaustų, kurį profilį noriu naudoti (nes abi Firefox versijos naudoją tą patį profilių katalogą ir šis pasirinkimas galioja iškart abiems). Dabar galiu pasileisti abi Firefox versijas ir jos veikia nepriklausomai viena nuo kitos.
Dar labai norėčiau išsiaiškinti, kaip nurodyti Dock'e esantiems Firefox'ams po parametrą, kuriuo iš anksto galėčiau nustatyt, kad 3.0 versija naudotų vieną profilį, o 3.1 - kitą. Tačiau naršyklę paleidinėju nedažnai, tad manau nebus didelė problema paleidinėjant naršyklę pasirinkti jos profilį, o laikui bėgant aš kogero nustosiu naudoti senąją versiją ir problemos nebeliks (kol nepasirodys kokia nors Firefox 4.0 beta ar pan.).
Iš tiesų norėjau rašyt, kad tik 5 EUR, tačiau Ryanair'ui galiausiai pavyko man priklijuot dar vieną mokestį - kreditinės kortelės. Atsisakiau bagažo, kelionės draudimo, prioritetinio įlaipinimo ir registruosiuos skrydžiui internetu (oro uoste kainuotų 8 EUR). Bet galiausiai priėjau mokėjimo kortelės duomenų įvedimo lauką ir vienintelė Visa Electron aptarnaujama nemokamai, tačiau turiu tokią tik iš Swedbank'o ir su ja man dar niekad nebuvo pavykę mokėti internetu, tad teko traukti kreditinę kortelę ir pakloti dar du kart tiek, negu sumokėjau už abu skrydžius.
Vasario pradžioje laikau tris egzaminus ir po jų iki kovo 19 turėsių marias laisvo laiko, tad galėčiau aplankyti Anną Sheffield'e. Ji bežiūrinėdama Ryanair pasiūlymus aptiko skrydžius vasario viduriui į East Midlands labai patogiu laiku iš Berlyno už puse kainos (po 2,50 EUR vietoj 5 EUR) ir be jokių mokesčių! Ilgai nelaukęs ir neplanavęs ėmiau ir užsisakiau, nes akcija berods šiandien ir baigiasi jau. Tereiks sumokėt dar keliasdešimt Eurų už traukinius Vokietijoje bei Anglijoje.
Reik man galbūt dažniau užmesti akį į Ryanair siunčiamus emailus su įvairiais pasiūlymais, nes taip pigiai aš net iki Leipcigo nenuvažiuočiau (30 km atstumas).
Kalėdas praleidau Vilniuje ir po jų gruodžio 27 susitikome su Anna Berlyne, kur smagiai pasivaikščiojom po Kalėdų mugę bei perėjome visą Unter den Linden gatvę, kur kiekviena medžio šaka apvyniota girlendom. Anna apie tai jau rašė savo bloge. Taip pat galite jį užsiprenumeruoti, Anna labai apsidžiaugs :)
Naujuosius sutikom namie, nes į miestą nesinorėjo per daug eit, o iš bendrabučio aštunto aukšto matos visas miestas su visais fejerverkais. Jų buvo visai nemažai ir galiausiai apie pirmą valandą fejerverkus užstojo milžiniškas parako dūmų debesis. Bandžiau šiek tiek fotografuoti su savo muiline, bet šūdas gavos. Reik pirkti kogero EOS'ą. Juostelėm fotografuoti jau nebesiryžtu, nes tiesiog gaila pinigų. O ir senų nuotraukų ir taip pilna spinta.
O sausio pirmą ėmiau ir susirgau. Pirmom dienom kamavo nežmoniška sloga, vėliau prasidėjo kosulys, kuris dar ir dabar kankina. Todėl tik dabar prisiverčiau parašyt šį įrašą.
Svarbi naujiena tiems, kas norėtų prasidėti su Amazon EC2 tarnyba, bet neprasideda, nes Amerika jiems per toli - Amazon EC2 šiandien jau atkeliavo į Europą. Prie buvusio US regiono su trimis availability zonomis prisidėjo regionas EU su dviem zonomis. Įtariau, kad jos abi bus Airijoje - TechCrunch straipsnis tai pavirtino.
Ką gi mums reiškia europinis EC2? Tie vartotojai, kurie EC2 naudojo ar nori naudoti vien intensyviems skaičiavimams, tiems kogero labiau apsimokės likti US regione, nes EU maždaug 10% didesnės valandos kainos. Tačiau webaplikacijos, talpinamos Europoje, bus daug greičiau pasiekiamos vietiniams vartotojams. Globaliems projektams iškart prašosi koks nors krūtas Geo-DNS-Load-Balancing sprendimas, nukreipiantis vartotojus į jiems geografiškai artimesnį kontinentą.
Labai smagu, kad Amazon ne tik apie Ameriką galvoja. EC2 jau Europoje, S3 jau seniai Europoje, naujoji CloudFront viską dar labiau paspartina. Iki pilnos laimės kaip ir nieko daugiau netrūksta... na nebent mažesnių kainų :)
Kadangi neturiu viešai prieinamų didelių failų, tai testavimui susikūriau 20 MiB dydžio failą ir užkroviau į S3. Tikrinti parsisiuntimo deja negaliu namų sąlygom, nes mano DSL per lėtas europiniams greičiams, tad tikrinau serveryje (Niurnberge). Siunčiant tiesiai iš S3 greitis labai svyravo tarp 200 ir 400 KiB/s. Failas galiausiai buvo parsiųstas vidutiniškai 272 KiB/s greičiu. Po to pamėginau parsisiųsti failą iš CloudFront. Nustebino tai, kad greitis tesiekė vidutiniškai 897 KiB/s. Galiausiai supratau, kad tai kogero todėl, kad CloudFront dar iš pradžių turi parsisiųsti failą į Europą. Antrą kartą siunčiantis failą vidutiniškas greitis buvo 10 MiB/s, kas yra visai neblogai. Ping'as nukrito nuo vidutiniškai 100 ms iki 3 ms iš serverio ir nuo 200 ms iki 70 iš namų (vien iki mano ISP pingas virš 50 ms).
O perkelti visus failus į CloudFront realiai man bus daug paprasčiau nei iš pradžių galvojau. Aš šiuo metu naudoju www2.tamole.net subdomeną visiems statiniams failams, gulintiems S3, pvz. http://www2.tamole.net/20081114-macbook.jpg. www2.tamole.net yra tiesiog CNAME įrašas, nukreiptas į Amazon S3. Man užtektų nukreipti subdomeną nebe į S3, o į man suteiktą CloudFront adresą (*.cloudfront.net) ir jau visi failai bus tiekiami greičiau. Nereikės keisti jokių adresų, nereikės perkelinėt jokių failų - viskas tiesiog veiks. Migracija taip pat turėtų būti visiškai sklandi, nes kol neatsinaujins DNS įrašai, www2.tamole.net tiesiog veiks kaip veikė iki šiol, t.y. kraus failus tiesiai iš S3.
Aš jau rašiau apie Amazon S3 naudojimą paveikslėlių ir kitokių statinių failų talpinimui internete. Pačioje tarnybos gyvavimo pradžioje ji buvo tiekiama tik JAV, t.y. visi duomenys buvo talpinami JAV esančiuose duomenų centruose, todėl vartotojams iš Europos ar kitų kontinentų S3 buvo šiek lėtoka. Po kiek laiko Amazon pradėjo tiekti S3 ir Europoje ir (bent jau Europiečiams) duomenų siuntimas žymiai paspartėjo, nes nebereikia jų siųsti per Atlantą. Tačiau talpinant duomenis Europoje atitinkamai suletėja jų siuntimo greitis JAV esantiems vartotojams.
Amazon CloudFront turėtų išspręsti šią problemą. Duomenys ir toliau bus talpinami S3 tarnyboje, tačiau tiekiami iš CloudFront taškų. Vartotojui norint atsisiųsti failą Amazon nustatys artimiausią CloudFront tašką, atsisiųs failo kopiją iš Amazon S3 (ir išsaugos vėlesnėms užklausoms) ir pateiks jį vartotojui. Šiuo metu yra 8 CloudFront taškai JAV, 4 Europoje (Amsterdame, Dubline, Frankfurte ir Londone) bei po vieną Japonijoje bei Honkonge. Didžiausią naudą aiškų turės tie, kurių failus siunčiasi vartotojai iš viso pasaulio. Bet ir net Europoje ar net Lietuvoje tai būtų naudinga, nes Amazon S3 failai Europoje iki šiol buvo teikiami berods tik iš Dublino, tad dabar bus daugiau alternatyvų. O Frankfurtas galbūt greičiau sujungtas su Lietuva negu Dublinas.
Kaina tarnybos beveik nesiskirs nuo Amazon S3 kainų. Kadangi iš S3 failai bus parsisiunčiami tik pirmųjų užklausų metu, tad Amazon S3 duomenų perdavimo išlaidos turėtų labai smarkiai sumažėti, tad realiai kogero galutinė kaina bus labai panaši. Minimalaus naudojimo mokesčio nėra.
Kadangi aš savo blogo nuotraukas talpinu Amazon S3 (visdar JAV), tai būdamas Lietuvoje pastebiu, kad truputėlį lėčiau jas krauna. Pamėginsiu iki kalėdų visus duomenis pradėti teikti iš CloudFront ir žiūrėsiu, ar jausis skirtumas.
Kadangi aš dabar mac'istas, tai ir rašysiu kogero nemažai apie įspūdžius bei rūpesčius su Mac OS X. Sugalvojau netyčia patikrinti, ar mano Mac'as neturi kartais netyčia instaliuoto subversion'o (svn). Pasirodo turi, bet tik 1.4.4 versiją, kuri man per sena, nes subversion 1.5 turi labai patogų merge tracking'ą, be kurio nebegaliu gyvent, todėl nutariau atsinaujinti.
Subversion tinklapyje siūlomi trys variantai: Fink, Macports bei tiesiog DMG failas. Nei Fink, nei Macportų kolkas aš dar nekrapštęs, tad nutariau pasirinkti (galbūt) lengviausią kelią ir parsisiunčiau DMG iš Collab.net. Viskas labai paprasta, tačiau mano senas subversion'as, gulintis /usr/bin kataloge, nebuvo paliestas, o naujoji subversion versija įdiegta į /usr/local/bin. Paprasčiausias sprendimas, kuris man greitai šovė į galvą - susikurti alias'ą:
alias svn=/usr/local/bin/svn
Nuo šiol terminale bus naudojama naujoji svn versija:
$ svn --version svn, version 1.5.4 (r33841) compiled Oct 27 2008, 11:19:10
Puiku, ypač kol neadministruojami lokalūs svn repositoriai, nes elementarias operacijas su darbinėmis kopijomis galima be problemų atlikinėti ir su senais svn klientais (bent jau man neteko patirti jokių siurprizų).
Galbūt įmanoma ir kaip nors gražiau/teisingiau šitą sutvarkyti, bet aš kol kas nesugalvojau kaip, o eksperimentuoti perdaug dar bijau :)