Skyen holder 7 mio. brugere og Endomondo i topform

Motionsentusiasterne hos Endomondo tog springet fra et traditionelt hostet server-setup i Danmark til den store sky. Det har givet mindre teknisk bøvl og forbedret oppetid.

Med flere end syv millioner motionister på verdensplan, der benytter sig af motionsapplikation Endomondo på deres smartphones, er der behov for en stor og stabil bagvedliggende serverløsning til at håndtere de mange motionisters data.

Det måtte it-afdelingen med Thomas Ambus i spidsen sande, efter virksomheden i sit første år havde været traditionelt hostet hos en dansk hostingpartner. Efterhånden som virksomheden fik stadigt flere brugere og tilføjede funktionaliteter, begyndte man at se sig om efter en anden løsning.

Det var blandt andet problemer med stabiliteten og mangel på ressourcer til at imødegå teknisk bøvl med for eksempel loadbalance og backup, der sammen med den øgede brugertilslutning gjorde udslaget.

I sommeren 2011 sagde Endomondo farvel og tak til den danske host med fire dedikerede servere og valgte i stedet at købe en løsning hos Amazon i Irland med hele 23 servere, som virksomheden smertefrit overgik til. Dog understreger teknisk chef Thomas Ambus, at selv om der er tale om en væsentlig udvidelse af serverkapaciteten, så er Amazons servere langsommere end dem i det gamle setup.

Forbedret oppetid i skyen

Han fortæller, at skiftet på den korte tid allerede har vist store forbedringer i forhold til den basale drift af serverne.

»I praksis har vi haft længere oppetid i skyen, end da vi var traditionelt hostet. Der skete simpelthen flere 'fuckups' på det gamle system.«

Thomas Ambus fortæller, at det gode ved det nye skysystem er, at der bliver stillet mange gode add-on-teknologier til rådighed. Det være sig brugervenlige monitoreringsværktøjer som Cloudwatch. En anden stor fordel ved skiftet var håndteringen af load balance.

»Det var en ting, der var meget nemmere, og som bare virkede out of the box i forhold til, da vi havde den traditionelle løsning. Dér oplevede jeg at bruge utrolig mange timer på at få det til at spille ordentligt.«

En tredje fordel ved de værktøjer, man får stillet til rådighed, er ifølge Thomas Ambus muligheden for at tage såkaldte point-in-time-snapshots af sine datadiske. Det er en teknologi, der ellers ikke vil kunne lade sig gøre på normale disksystemer, der tillader fortsat skrivning til datadiskene, selv om backuppen er sat i gang.

»Systemet tager med andre ord en backup eller et snapshot af databasen, sådan som den så ud i det sekund, hvor processen blev sat i gang. Men det vilde er, at vi takket være det specielle EBS-disksystem ikke behøver at stoppe databasen for at vente på, at backuppen kopierer sig færdig. Det sker alt sammen sideløbende uden at påvirke driften,« forklarer han.

Men selv om Thomas Ambus har mange positive ting at sige om skiftet til skyen, har processen ikke været uden kompromisser. Et problem relaterer sig til det særlige EBS-disksystem, der er væsentlig langsommere end andre diske. Dette løser Endomondo dog ved at bundle diskene i et software-raid, sådan at det rent praktisk ikke får nogen betydning for databasens performance.

Fejltolerance i setuppet

Et andet problem, som Endomondo har oplevet, er, at enkelte servere i visse tilfælde er holdt op med at fungere.

»Jeg tør ikke sige, hvorfor det sker, men vi har oplevet det et par gange efterhånden. Men det er ikke noget problem, så længe man indbygger fejltolerance i sit setup fra begyndelsen, hvilket vi har gjort,« siger Thomas Ambus, der understreger, at virksomhedens data aldrig har været i fare.

Maskinerne, som Endomondo har fået stillet til rådighed, er i udgangspunket rene Linux-maskiner, som man som kunde kan installere, hvad man vil på.

»Fra begyndelsen har vi holdt os til open source-teknologier. Dengang var der jo ingen penge i kassen, men vi er så glade for vores nuværende setup, at jeg ikke tror, vi ville have gjort det anderledes i dag,« fortæller Thomas Ambus og gennemgår Endomondos grund-setup:

»Databasen er baseret på MySQL, der er god til at styre de mange data. Vores webservere kører med Apache Tomcat, og vores serverapplikationer er skrevet i Java.«

Tidsforskel gør presset konstant

Den tekniske chef er ikke meget for at afsløre detaljer om, hvor store mængder data der dagligt bliver sendt gennem skyen af hensyn til konkurrerende virksomheder. Men med flere millioner brugere på verdensplan kunne man tro, at muligheden for at imødekomme vekslende behov for workloads var et af argumenterne for at placere sin back-end i skyen.

På det punkt er det imidlertid en fordel, at Endomondos kunder er spredt ud over hele verden, da de mange tidszoner gør, at presset på serverne er nogenlunde konstant. Derfor har det aldrig været nødvendigt hverken at op- eller nedjustere de 23 servere, som virksomheden råder over.

Sikkerheden bekymrer ikke

Hvad angår sikkerheden på den skybaserede hosting-løsning, er Thomas Ambus ikke bekymret:

»For år tilbage, da cloud var nyt, var der stort sikkerhedsparanoia i branchen. Men den diskussion mener jeg ikke er relevant længere. Nogle har eksempelvis været bekymrede for, at andre brugere, der kører et virtualiseret setup på samme fysiske server som dig, ville kunne gå ind og sniffe dine data. Men det er simpelthen bare ikke muligt,« understreger han.

»Det kan egentlig koges ned til, at det eneste, man reelt kan være bekymret for, er, at nogle af Amazons folk kan få adgang til at lytte på netværket. Og selv om det er meget usandsynligt, og Amazon selv siger, at det ikke er muligt, så kan det jo bare løses ved at kryptere ens data.«

Har du nogle gode råd til andre virksomheder, der kunne overveje at smide deres back-end i skyen?

»Jeg vil sige, at for nye virksomheder er det en supernem måde at få maskiner og tools, der kan gøre tingene lettere at håndtere. Omvendt så kræver det noget arbejde at servicere mange brugere og samtidig sikre sig, at man har en høj oppetid. Det er ikke svært at gøre, men der skal tages højde for det,« pointerer Thomas Ambus.

Kommentarer (22)

Baldur Norddahl

Jeg har selv været med til at flytte et setup til Cloud og det har vi sparet mange penge på. Men man skal ikke være naiv: Der er ingen måde at beskytte data i skyen fra Cloud-leverandøren. Af samme årsag har det ikke været muligt for os at flytte et andet setup, hvor der var krav om PCI DSS sikkerhed.

Man kan kryptere data på disken. Men en person med adgang til det underliggende operativsystem har adgang til din RAM. Han kan med de rigtige værktøjer pille koden ud og dermed dekryptere data.

En Cloud-leverandør havde for nyligt indbrud og der blev stjålet en større mængde penge i form af bitcoins. Det var helt sikkert et "insider job".

Vi lever med risikoen fordi vores forretning ikke indebærer at vi bearbejder data der umiddelbart kan misbruges. Dermed ikke sagt at vi ikke vil lide skade - konkurrenterne kan sikkert bruge det til noget. For os er et risikoen værd i forhold til besparelserne. Jeg forventer det er det samme for Endomondo.

Peter Binderup

Hvad er sikkerheden ved at have det stående i et hosting center (som de havde før)?

For mig at se har man de samme sikkerhedsudfordringer, uanset om skidtet er virtualiseret eller ej, ved hosting hos 3. part.

Og hoster man det selv, så har man en anden række problemstillinger man skal tage højde for (eller rettere som man bør tage højde for)

Baldur Norddahl

Hvad er sikkerheden ved at have det stående i et hosting center (som de havde før)?

Det kommer meget an på hostingcenteret. Nogle steder kan du få dit eget rum eller bur, med en lås kun du har en nøgle til og elektroniske adgangssystemer med biometrisk adgangskontrol samt adgangslog.

Mere almindeligt er at du har dit eget skab, hvortil du har egen nøgle. Men personalet har også en nøgle og den der har fysisk adgang til en server kan også bryde ind i den.

MEN - der er en verden til forskel for at bryde ind i en fysisk server og en virtuel server. Det første er omstændigt og svært at gøre uden at det bliver opdaget. At bryde ind i en VM kan automatiseres - du kan bare downloade tools der gør det for dig og ingen aner at det er blevet gjort. Og bagefter er der ingen spor.

Peter Binderup
Baldur Norddahl

Hvis det er data man er efter så er det vel mere eller mindre det samme man skal igennem uanset om man har virtualiseret eller ej?

Det kan du jo selv svare på. Hvordan vil du bryde ind i en fysisk server der benytter fulddisk-kryptering? Det kan lade sig gøre, hvad er dit bud på metoden? Og vil din metode kunne lade sig gøre uden at det bliver opdaget?

Så vil jeg give dig metoden for at bryde ind i en virtuel server: virsh save. Herefter har du en fil med et memory dump. Kunden opdager intet. Det er så let at det ligefrem er dokumenteret i manualen!

Baldur Norddahl

Homomorf kryptografi

Ja så fik du vist at du kendte et fremmedord. Prøv igen med noget nyttigt. Fortæl mig hvordan man implementerer, lad os sige en online-butik. Fortæl mig hvordan butikken kan modtage ordre fra en webform og udsende emails til kunderne med mere, uden at have adgang til data.

Henrik Stig Jørgensen

Hvordan skal cloud-computeren kunne bearbejde krypterede data uden at du også uploader nøglen?

Ok, jeg tror vi taler forbi hinanden - jeg taler om cloud-storage; cloud-leverandøren skal ikke behandle kundens data på nogen måde. Derfor krypterer man sine data inden de lægges i cloud.

Hvis man derimod taler om applikations-hosting i cloud er det klart, at data skal kunne tilgås på en eller anden måde fra cloud-applikationen. Og dog...

Til logning, accounting osv. er det nok at kryptere med en for cloud-leverandøren ukendt nøgle da applikationen kun behøver at skrive data. Data kan ligeledes krypteres redundant med kundens public key, så kunden til enhver tid har adgang til sine egne ordrer/historik/præferencer etc.

Hvorvidt det er særlig smart er så en helt anden sag. :-)

Baldur Norddahl

Ok, jeg tror vi taler forbi hinanden - jeg taler om cloud-storage;

Artiklen handler om et firma som har flyttet deres servere til skyen.

Til ren storage kan og bør man naturligvis kryptere data. De fleste backup-programmer tilbyder muligheden. Det program jeg bruger benytter GPG.

Man bør muligvis også kryptere data på en applikations-skyserver. Det kan godt være at det er en ringe beskyttelse imod en tyvagtig ansat hos Cloud-leverandøren, men det beskytter imod lemfældig omgang med data hos samme.

Henrik Stig Jørgensen

Det kan godt være at det er en ringe beskyttelse imod en tyvagtig ansat hos Cloud-leverandøren

Jo, det var det der var min pointe, at man kan lave sit system, så man ikke behøver at disclose dekrypterings-nøglen til hosting-leverandøren.

Nikolaj Brinch Jørgensen

Hvorfor er der ikke det? Man kan da bare kryptere de data man lægger op i skyen?


Jo men så snart de er i RAM er krypteringen væk, så det memory-dump som Baldur taler om, er for at få fat i random data der lige nu er i RAM.
Man kan jo så bygge sin Java applikation, således at der benyttes mest mulig kryptering. F.eks. kan man forestille sig en domænemodel der er krypteret og at ens tag-set i JSP f.eks. laver dekrypteringen. Så er data ukrypteret meget kort tid i RAM og der er derfor temmelig vanskeligt at time sit memory dump.
Men teoretisk er det jo muligt med fysisk adgang til maskinen at kompromitere den.

Henrik Stig Jørgensen

Men teoretisk er det jo muligt med fysisk adgang til maskinen at kompromitere den.

Ja, det er derfor jeg foreslår en webapplikation der kun kan kryptere. Det er muligt, men bøvlet - især hvis kunderne (butikkens kunder) skal have adgang til deres egne data (ordrer, historik, leveringsadresse, kreditkort), da dette vil kræve kryptering med to forskellige nøgler.

Baldur Norddahl

Jo men så snart de er i RAM er krypteringen væk, så det memory-dump som Baldur taler om, er for at få fat i random data der lige nu er i RAM.

Selve nøglen ligger også i RAM. Der findes værktøjer der automatisk finder nøglen i et memory-dump. Så er der fri adgang til alle data på disken.

Hvis du bruger din egen hjemmebryggede kryptering så bliver det lidt mere bøvlet for tyven, men det ændrer ikke ved det faktum at hvis CPU'en kan indlæse og dekryptere data fra disken, så kan tyven også.

Nikolaj Brinch Jørgensen

Selve nøglen ligger også i RAM. Der findes værktøjer der automatisk finder nøglen i et memory-dump. Så er der fri adgang til alle data på disken.

Hvis du bruger din egen hjemmebryggede kryptering så bliver det lidt mere bøvlet for tyven, men det ændrer ikke ved det faktum at hvis CPU'en kan indlæse og dekryptere data fra disken, så kan tyven også.


Der findes systemer vor nøglen ligger i SRAM (processorens cache). Den dumpes normalt ikke - den er faktisk temmelig svær at knække, selv med "frysemetoden".
Men den skal forbi RAM for at komme i cache. Men helt ærligt dette vli ske på et totalt uforudset tidspunkt, så det er ren teori at det kan lade sig gøre.

Baldur Norddahl

Ja, det er derfor jeg foreslår en webapplikation der kun kan kryptere. Det er muligt, men bøvlet - især hvis kunderne (butikkens kunder) skal have adgang til deres egne data (ordrer, historik, leveringsadresse, kreditkort), da dette vil kræve kryptering med to forskellige nøgler.

Det er en udmærket ide at bruge asymmetrisk kryptering til log-data og andet, som applikationen ikke selv skal bruge. I praksis tror jeg bare ikke det bliver til ret meget data du kan gemme væk på denne måde. En webbutik for eksempel, har brug for stort set alt kunden indtastede for at kunne sende først en ordre bekræftelse, så en ordrelevering og sidst opdatere diverse databaser (regnskab, lagerstatus m.m.).

Baldur Norddahl

Der findes systemer vor nøglen ligger i SRAM (processorens cache). Den dumpes normalt ikke - den er faktisk temmelig svær at knække, selv med "frysemetoden".
Men den skal forbi RAM for at komme i cache. Men helt ærligt dette vli ske på et totalt uforudset tidspunkt, så det er ren teori at det kan lade sig gøre.

Nej du, den køber jeg ikke :-). Hvad sker der så når operativsystemet laver content-switch til en anden process eller en device driver? Eller når du aktiverer hibernate? Eller Cloud-leverandøren trykker på knappen der migrere alle aktive VM'er til en anden fysisk server?

"virsh save" kommandoen er netop beregnet til migrering til en anden fysisk server, så den tager ALT. Ellers ville det jo ikke virke.

Henrik Stig Jørgensen

I praksis tror jeg bare ikke det bliver til ret meget data du kan gemme væk på denne måde

Helt enig. Men man kunne også splitte sin webbutik op i en ren frontend og backend applikation, hvor frontenden lægges i cloud af de sædvanlige grunde (sikkerhed, performance, oppetid). Frontenden behøver som sådan ikke at kunne læse kunderelaterede data da al kunde/ordre-behandling placeres i backend-applikationen.

Det betyder selvfølgelig at man stadig har egen-hostet software, men ikke noget der har de samme oppetids-krav, som selve webbutikken.

Log ind eller opret en konto for at skrive kommentarer

JobfinderJob i it-branchen

TDC skifter koncernchef efter faldende mobilomsætning

Jesper Stein Sandal Mobil og tele 14. aug 2015

Nyeste job

KurserStyrk dine evner med et kursus

Ny i lederrollen

Hvornår: Hvor: Østjylland Pris: kr. Efter aftale

Office kursus 2013 opgradering (fra Office 2003)

Hvornår: 2015-12-16 Hvor: Storkøbenhavn Pris: kr. 2950.00

Acrobat XI Professionel kursus grundlæggende

Hvornår: 2015-11-13 Hvor: Storkøbenhavn Pris: kr. 2950.00

Netværksteknologi - IP

Hvornår: 2015-10-05 Hvor: Storkøbenhavn Pris: kr. 9200.00

Reporting Services

Hvornår: Hvor: Østjylland Pris: kr. Efter aftale