De interessante case van Prosoccerdata!

De interessante case van Prosoccerdata!

20 december 2018

Onze klant ProSoccerData ging op zoek naar een hosting-alternatief in ‘The Cloud’, een term die je wel al eerder hebt horen vallen. Eén van de vele betekenissen die je aan dit begrip kan geven is “het hosten van applicaties in public cloud providers”. In de case hieronder vertellen we je wat meer over het hosten van een applicatie bij AWS, zo’n public cloud provider. 

Wat is AWS eigenlijk?

AWS staat kort voor Amazon Web Services, waarbij de naam Amazon zeker wel een belletje doet rinkelen. AWS is dan ook ontstaan vanuit de webwinkel van Amazon en zo uitgegroeid tot het grootste cloud platform van de wereld. Sommigen beweren dat AWS op technologisch vlak een lichtjaar voorsprong heeft op concurrerende cloud providers, maar wij zijn daarin wat nuchterder. 

Het klopt dat AWS de grootste cloud provider is en het meeste services aanbiedt. Zowat elke software die je je kan bedenken is intussen ingepakt als een AWS service. Maar daarnaast heeft Microsoft met Azure een enorme inhaalbeweging gemaakt en mogen andere uitdagers als Google Cloud Computing en Digital Ocean daarbij ook niet vergeten worden. Waar de keuze voor AWS enkele jaren geleden voor de hand liggend was, is dat eind 2018 dus helemaal niet meer zo vanzelfsprekend.

Over ProSoccerData

ProSoccerData is een organisatie die een totaaloplossing biedt aan voor clubs en federaties die belang hechten aan een efficiënte en effectieve jeugdwerking. De mindset van ProSoccerData lijkt erg op die van ons - jong van geest en toch professioneel. Het is een plezier om met hen samen te werken!

Waarom AWS voor ProSoccerData?

Om te weten voor welke cloud provider het beste gekozen wordt, moet je met verschillende factoren rekening houden. Zo hebben bijna alle organisaties bij aanvang al een voorkeur voor de provider waarmee ze willen samenwerken. Windows-adepten en grote organisaties trekken daarbij vaak de kaart van Azure omdat de naam Microsoft jarenlange stabiliteit, vertrouwen en dus zekerheid met zich meebrengt. Daartegenover staan developers die werken met open source, PHP, JAVA. Zij zijn vaak van nature “avers van Azure” en worden dus meer aangetrokken tot platformen als AWS en Google Cloud.

Maar de beste keuze gaat natuurlijk veel verder dan persoonlijke voorkeur. Daarom dat er in het geval van ProSoccerData grondig onderzoek aan onze conclusie is voorafgegaan. Voor een internationale klant als ProSoccerData was diens globale aanwezigheid een doorslaggevende factor, zeker wat hun werking in China betreft. China is op vlak van hosting namelijk een speciaal land (hierover later meer), wat onze opties sowieso al erg beperkte. Met AWS en Azure als enige interessante providers in China werd uiteindelijk op basis van de technologische stack de keuze voor AWS gemaakt. 

Wat we deden voor ProSoccerData

Situatie-analyse

De applicaties van ProSoccerData zijn niet nieuw en werden gehost bij een provider die al eerder werd overgenomen door een andere provider. De dienstverlening bleek minder efficiënt, waardoor de jongens van ProSoccerData op zoek gingen naar betere mogelijkheden. Op basis van hun internationale aanpak (Japan! China!), leek de stap naar cloud provider AWS een interessante optie. 

Tijdens de testfase bleek dat er heel wat uit uitdagingen verbonden zijn aan het gebruik van een cloud provider. Ondanks dat AWS veel kant-en-klare services aanbiedt, ben je voor héél veel basisdiensten toch aangewezen op jezelf. En hoe je het dan ook draait of keert - een developer is geen operations engineer. De developers van ProSoccerData hebben dit goed begrepen - hun missie is het bouwen van een degelijke applicatie, niet zorgen dat de hosting feilloos verloopt. 

De visie van Level27 omtrent cloud computing

Een cloud provider garandeert enkel de correcte werking van de individuele services, wat in veel gevallen ook nog eens afwijkt van de verwachtingen van de klant. Zo is EBS (Elastic Block Storage) ontworpen voor een failratio van 0.2% per jaar. Dus wanneer je je architectuur niet goed ontwerpt en geen redundantie of backups voorziet, kan je gewoon pech hebben. En neen, AWS maakt niet automatisch snapshots of backups, dat moet je zelf correct instellen! Ook elementen als monitoring, capaciteitsmanagement, rapportering - niets gebeurt vanzelf. Op die manier kunnen de kosten wel héél snel ontsporen als je niet de juiste keuzes maakt!

De visie van Level27 is te zorgen voor een correcte implementatie van alle cloud provider services én het beheer achteraf.

Dit blijft natuurlijk wel een gevoelig onderwerp. We willen met onze uitspraken niet beweren dat developers op dit vlak geen juiste keuzes kunnen maken en dat wij alle wijsheid in pacht hebben. Integendeel, we zijn ons bewust van onze eigen capaciteiten en hebben enkel maar het grootste respect voor goede developers.

Wat we wel willen zeggen, is dat het voor een developer onmogelijk is om voldoende diepgaande kennis te hebben over de (constant evoluerende) wereld van cloud providers, wanneer je eigen focus ligt op het ontwikkelen van applicaties. Onze focus ligt nét daar, en die synergie - tussen hostingpartner en development - dat is wat bij beogen. 

De conclusie is dan ook dat wij de verantwoordelijkheid nemen die de cloud provider niet neemt: de correcte werking van de applicatie garanderen. En dit doen we zonder het kostenplaatje uit het oog te verliezen.

Dus wat deden we nu alweer voor ProSoccerData?

In een booming business als ProSoccerData moeten altijd keuzes gemaakt worden, ook in de eerste te ondernemen stappen. De eerste prioriteit werd het opzetten van een omgeving om een Japanse klant te kunnen bedienen.

Hierbij zorgden we eerst voor de configuratie van de AWS-account van ProSoccerData met de correcte instelling van security en permissions. Daarna kwam het instellen van VPC (netwerken) en VPN (Virtual Private Networks), in verschillende AWS-regio’s. We beperkten ons hierbij dus niet tot Japan want eens je applicatie up and running is, zijn bijkomende wijzigingen allesbehalve aangenaam. Verder installeerden we EC2-instances waarop de applicaties uiteindelijk terecht zouden komen. Hierbij ging speciale aandacht naar de encryptie van de schijven. Hosting in de cloud wil namelijk niet zeggen dat we er zomaar op vertrouwen dat alle data veilig is! Tenslotte zorgden we ook voor hulp bij het deployen van de (JAVA) applicaties. Al deze stappen werden opgenomen op basis van een uitgewerkt project met een vast budget.

Na de succesvolle uitwerking van hierboven, stopte onze samenwerking natuurlijk niet. De volgende scope bestond er in om de bestaande infrastructuur van de overgenomen Belgische hostingprovider om te zetten naar AWS in de dichtstbijzijnde regio (Ierland). De voorname focus lag hierbij op het scheppen van orde in de chaos en tegelijkertijd downtime vermijden. Met dit tweede project achter de rug, hadden we tot dan al een mooie infrastructuur opgebouwd: 

China

Dus ja, ProSoccerData heeft ook een klant in China. En dat is een uitdaging van een heel andere dimensie. Dat AWS datacenters in China heeft lijkt de kwestie te vereenvoudigen, maar daar bleef het helaas niet bij. Het is immers zo dat Chinese datacenters altijd uitgebaat worden door Chinese organisaties. Een AWS datacenter in China is dus niet helemaal vergelijkbaar met een AWS datacenter elders. Daarnaast zijn er in China ook nog heel wat beperkingen in het gebruik van servers. Maar veel van de uitdagingen die we overwonnen hebben zijn niet zozeer technisch van aard, maar kwamen we tegen op gebied van administratie en beveiliging.

Ten eerste krijg je niet zomaar een account om servers in China te maken. Het proces is langdurig en vraagt behoorlijke administratieve inspanningen. Ten tweede houdt de Chinese overheid niet van encryptie. Integendeel, het lijkt wel alsof ze gewoon graag een oogje in het zeil houden. Dit waren onze conclusies:

  • We werken graag met disk-encryptie, maar in AWS China is dit gewoonweg onmogelijk.
  • Bij ons is het de gewoonte dat websites 'op https' staan, m.a.w. dat de communicatie tussen bezoeker en website geëncrypteerd is. Ook in China is dat mogelijk, maar enkel met speciale en uitzonderlijke goedkeuring van de staat. Voor commerciële organisaties zoals ProSoccerData is ook dit dus feitelijk onmogelijk. Daardoor is de communicatie tussen de gebruikers en het systeem van ProSoccerData noodgedwongen niet geëncrypteerd. Hier bij ons kan je je dit nauwelijks voorstellen.
  • Omdat zowat alle systemen en servers tegenwoordig enkel met https bereikbaar zijn, loop je ook hier weer tegen een nieuwe uitdaging aan. Zo moesten we voor het installeren van Ubuntu-pakketten op zoek naar een plek waar die pakketten nog op een niet-https-connectie te vinden waren.

Tenslotte waren de connecties niet geweldig. Tussen de gebruikers en de servers zijn er geen problemen, maar van China naar de rest van de wereld is het verkeer sterk gelimiteerd. Het lijkt wel alsof Big Brother China meekijkt, of zijn we nu te paranoïde? 🙈

Management achteraf

Na de verschillende implementaties waren er heel wat services voor ProSoccerData actief bij AWS. Het belang van opvolging en monitoring achteraf was dan ook zeker niet te onderschatten. Maar deze werking was niet vreemd voor ons dus in onze aanpak gingen we uit van dezelfde principes die we al eerder succesvol toepasten bij andere klanten: snelle en directe communicatie via o.a. Slack, monitoring 24/7 en ook proactieve resource planning! 

Een opmerking of vraag?

Stuur ons een bericht en we koppelen zo snel mogelijk terug.

Deze vraag is om te controleren dat u een mens bent, om geautomatiseerde invoer (spam) te voorkomen.