Matt Assay har et par meget bra analyser av EU sitt forsøk på å gå Oracles kjøp av SUN etter sømmene i hhv EU fiddles with MySQL while Sun burns og The EU’s Christmas gift to Oracle. Essensen er at EU ødelegger for SUN til fordel for HP og IBM. Samtidig spekulerer han om Oracle kan prøve å forhandle ny pris siden SUN gjør det så dårlig mens situasjonen er på vent. Verd å lese.
amazon s3 og bøtter — us kontra eu
2009/07/27Dersom du skal jobbe mye med Amazon sin S3 tjeneste så er det to verktøy du bør skaffe deg: S3 Organizer plugin for Firefox og BucketExplorer. S3 Organizer er en gratis plugin for Firefox, den er meget fleksibel og tillater deg å ha flere konti som du kan sjonglere mellom. BucketExplorer koster $50, det er Javabasert og virker selvsagt på alle plattformer som kjører Java. Problemet med S3 Organizer er at den ikke har godt grep om lagring i EU. Skal du (som norsk) lagre ting i skyen, så bør du være trygg på at data befinner seg i EU. Amazon har støtte for dette, men det er mange gratis/friprog bibliotek som ikke fikser det. Grunnen til dette er at Amazon har to standarder for å adressere bøtter: bucket.s3.amazonaws.com/object og s3.amazonaws.com/bucket/object. Det er den første varianten som må brukes for bøtter som befinner seg i EU, mens de fleste (av historiske årsaker) benytter seg av den siste varianten. BucketExplorer er ikke plettfri, men den virker meget robust og bør være en del av verktøykassa hvis du skal programmere mot Amazon S3.
det var jo dumt
2009/07/16Under en test med Scalr kom jeg til å slette et EBS volum og et EBS snapshot som jeg hadde laget utenfor Scalr. Vanligvis kan du ikke se objekter som er laget utenfor Scalr, men det gjelder tydligvis ikke for EBS. Dumt, men man lærer vistnok av sine feil.
ssh og user eq
2009/06/16Dersom du stadig gjør ssh frem og tilbake mellom systemer, ønsker du sikkert å sette opp “user equivalence”. Med utgangspunkt i et tips fra Rails boka til Ezra Zygmuntowicz har jeg laget en funksjon som legges i .bash_profile filen din:
function authme {
if [ -z "$1" ]; then
echo "USE: authme hostname [user]"
return 1
fi
_HOST=${1}
if [ -z "$2" ]; then
_USR=${USER}
else
_USR=$2
fi
cat ~/.ssh/id_dsa.pub | ssh ${_USR}@${_HOST} '
# create if not exists
if [ ! -d ~/.ssh ]; then
mkdir ~/.ssh
fi
# set perm
chmod 0700 ~/.ssh
# now cat input
cat >> ~/.ssh/authorized_keys
# set perm
chmod 0600 ~/.ssh/authorized_keys
'
}
Dersom du kaller func med bare hostname blir din ssh id kopiert inn i din brukers område på angitt host. Hele poenget her er å gjøre all jobben i et pass, slik at du ikke må angi passord mer enn en gang. Derfor er alle kommandoer på “remote host” pakket inn i enkeltfnutter. Du kan også angi en annen bruker dersom du ønsker det. Feks har jeg satt dette opp for en del Oracle brukere/systemer som jeg jobber mot hver eneste dag.
ikke spes imponert
2009/06/14Det hender jeg blir revet med i misnøye. Det kan skje når jeg er ute i det store Internettet og bruker en eller annen applikasjon for å kjøpe et produkt eller en tjeneste. Dersom jeg ikke får kjøpt det jeg ønsker uten alt for mye krøll kan det være at det ender opp med en e-post til til kundeservice. Det står da “jeg er ikke spes imponert over … “. Denne helgen hadde jeg en slik opplevelse. Gikk inn i nettbanken (Terra) og skulle betale noen regninger. Valgte e-faktura/se på grunnlag og pling kommer spørsmålet, hva ønsker du å gjøre med showInvoice.jsp. Siden jeg er nerd rygga jeg selvsagt. Dette skjedde på min jobbMac som har diverse editorer installeret. Firefox foreslo klokelig at jeg nok ønsket å bruke TextMate til å se på dette vedlegget. Løper ned i kjelleren til iMacen, akkurat samem oppførsel, bortsett fra at den ikke har et bra forslag til editor.

Ikke spes imponert nei. Etter diverse forsøk, også med Safari (som ikke ville spille på lag i det hele tatt), sier min kjære “Kan du ikke bare åpne i Adobe, det er jo et pdf dokument?”. Som sagt, så gjort. Problemet var løst, fakturagrunnleget åpenbarte seg i Acrobat Reader. Av og til er det enkleste det beste — heter det vistnok…
Nå kan man jo lure på hva i all verden Terra holder på med. Nedlastbare dokumenter skal jo ha enten en “extension” eller type definisjon som gjør at nettleser vet hva den skal gjøre med det. Oppfører det seg slik under Windows også eller er det bare en hilsen til oss Mac brukere? Hva med de Mac brukerne som bare benytter standard Safari oppsett? Jeg er ikke sikker på om jeg ønsker å vite svaret.
de første erfaringer med scalr.net
2009/06/08Scalr (scalr.net) er en tjeneste på toppen av Amazon EC2. Det er et såkalt “self-healing” og “auto-scaling” rammeverk og leveres både som open source (gjør det selv) og en tjeneste. Tjenesten koster $50 i måneden og har i teorien (nesten) samme funksjonalitet som RightScale som koster $500 i måneden. Du må ha en konto med Amazon for å benytte Scalr. All bruk/trafikk blir belastet via Amazon som vanlig (i tillegg til de $50). Scalr har ikke tradisjonell support men et aktivt brukerforum på groups.google.com.
Scalr virker med alle Linux varianter, bare det er … Ubuntu 7.04.
Jeg har enda ikke fått utført grundige tester, men har likevel noen ting jeg vil nevne. Det er meget lett å rigge en farm i Scalr. Dersom rollene du ønsker å benytte finnes i katalogen (rails, php, mysql el) så kan en farm være operativ på mindre enn 10 minutter. En farm vil typisk bestå av en “reverse proxy” basert last-balanserer (benytter nginx), en eller flere applikasjons-roller (feks rails) og en eller to databasenoder (hvis to, konfigurert som “master-slave”).
I motsetnimg til feks EngineYard Solo, så laster du i utgangspunktet ikke ned din private ssh nøkkel. Fra kontrollpanelet i Scalr kan du starte en ssh sesjon mot serveren ved å klikke på et symbol som representerer serveren din. Dette starter en MindTerm applet. Det ser da ut som nedenfor.

Akkurat dette synes jeg er ganske tøft fordi det reduserer behovet for å distribuere nøklene til alle maskinene jeg jobber fra (i mitt tilfelle minst to). Du kan heldigvis laste ned nøklene (det er en per farm) og logge deg på vha ssh -i som vanlig for EC2 instanser, men for mer tilfeldige forbindelser holder det med Internettadgang og muligheten for å kjøre java-appletter.
Videre benytter Scalr seg av dns, dvs at servere registreres i dns. Dette kan være en fordel, det er lettere å jobbe med navn enn ip-adresser. Det kan også være et problem, da det knytter din EC2 farm til Scalr sin infrastruktur. Der har det vært utfordringer, inntil nylig hadde scalr sine dns-servere i ett og samme datasenter! Så foreløpig heller jeg mot skeptisk, men jeg ser selvsagt nytten av å ha navn å forholde meg til.
Det selv-helbredene aspektet av Scalr er det nok delte meninger om. For ikke lenge siden ble en haug med servere under Scalr paraplyen startet på nytt ved en feiltagelse. Det var høy temperatur i brukerforumet i tiden etterpå … Jeg har ikke hatt anlednng til å teste ut skalerings-funksjononen i Scalr. Definisjonen er enkel nok: ved oppstart angir du min og maks antall forekomster av en rolle (feks applikasjons-server) og kriteriet for oppstart av en ny forkomst (basert på “load average”).
Det er for tidlig å si om Scalr er noe jeg vil anbefale. Jeg synes allikevel at $50 er en lav pris å betale for å få innsyn i hvordan man kan lage robust automatikk rundt EC2. Inntil videre er dette en god nok grunn til å fortsette å bruke det.
engineyard
2009/05/29EngineYard spesialiserer seg på Rails hosting. Snart kommer en helt ny versjon av deres hosting miljø, det heter FLEX. Sjekk innslaget på Blip der de annonserer og demonstrerer det nye “self healing” miljøet. Dette vil være tilgjengelig i juli og det ser meget bra ut!
openx i nytimes
2009/05/28Her om dagen kommenterte jeg bloggen til Grig Gheorghiu, han skrev om automatisering av virtuelle maskiner. Han jobber for OpenX som nettopp ble omskrevet i et innlegg i NY Times bloggen. Interessant å se at noen prøver å utfordre Yahoo og Google på annonseformidling.
hvorfor automatisere drift av virtuelle maskiner?
2009/05/26Et bra innlegg av Grig Gheorghiu beskriver hvorfor det er både lurt og viktig med automatisering av driften rundt virtuelle maskiner, det gjelder spesielt i skyen. Det han beskriver er på mange måter grunnen til at jeg selv har bestemt meg for å lage VMer som konfigurerer opp seg selv via bla capistrano og chef. Fra det øyeblikket du tar kontakt med en VM via ssh, dvs VMen er startet med basis-konfig *og* den har fått en ip, bør oppsett/strategi være identisk fra gang til gang — uavhengig av om du kjører ESX fra VMware eller EC2 fra AMZN.
ikke akkurat “twisting by the pool”
2009/05/22Vi har jobbet med virtualisering i nesten 2 år. I all hovedsak har vi benyttet oss av VMware Server (Linux) og hhv Workstation (Windows/Linux) og Fusion (Mac). Den siste tiden har vi eksperimentert en del med Amazon EC2. I den sammenhengen har jeg sett på diverse produkter og tjenester i tilknytning til EC2. Bla har jeg prøvd EngineYard Solo, scalr.net og Poolparty.
Poolparty var i utgangspunktet veldig interessant, fordi det er open source og fordi det skulle støtte både ec2 og VMware Worstation/Fusion. Nå viste det seg fort at dette ikke akkurat var en dans på roser eller “twisting by the pool” for den saks skyld. VMware implementasjonen var (per 1.mai 2009) særdeles rudimentær. Feks ville programvaren påstå at skyen din allerede var operativ dersom en virtuell maskin allerede var startet, helt uavhengig av hva slags rolle denne hadde. Jeg bruker Mac til hverdags og har en egen Windows VM (virtuell maskin) for å få fjern-oppkobling til en av mine kunder (Windows basert VPN + putty tunnel; ganske fikst om jeg skal si det selv). Denne VM (og aller andre) må slås av før Poolparty kan kjøres. Videre er Poolparty avhengig av å vite ip-adressen til en VM før denne kan bearbeides. Det betyr i praksis at en VM som du skal konfigurere opp må ha vært startet manuelt før du kan kjøre automatikk på denne. Det vil for eksempel ikke være mulig å dra i gang en ny sky med et sett roller basert på lagrede VMer, vi vet jo ikke hvilke ip-adresser disse VMene vil få!
Skal du lage denne type automatik (pålogging uten å vite ip-addressen), så må du ha VMware Tools installert i basis VMene dine (eng: “base images”). Dette er godt dokumentert og muliggjør en del kul funksjonalitet. Ved hjelp av kommandolinje-verktøyet vmrun kan du feks kjøre programmer inne i VMet ditt, overføre filer fra VM til host mm. Mine basis VMer er satt opp med ruby, chef og VMware Tools. I tillegg har jeg lagt inn et par script for å finne ip-adressen og lagre denne i en predefinert fil. Fra min Mac kan jeg da først kjøre vmrun runProgramInGuest og få generert opp en fil med ip-adressen og deretter vmrun copyFileFromGuestToHost for å kopiere filen ned til min maskin. Nå har jeg ip-adressen og kan begynne å kjøre chef oppskriftene fra capsitrano. Dersom du lurer på hva chef oppskrifter er for noe, kan du jo følge linken ovenfor eller vente på et innlegg i denne bloggen
Jeg kommer tilbake med mer om erfaringer rundt scalr.net og EngineYard Solo.
Sendt av ebraekke