AWS infrastructuur voor de ontwikkeling van maatwerksoftware

Migratie naar de Cloud

Eleven ontwikkelt maatwerk software, voornamelijk online oplossingen en ondersteuning van business processen. Om de werkzaamheden uit te kunnen voeren, is een interne infrastructuur opgebouwd met onder andere projectmanagement software (de Atlassian suite), build software (Bitbucket Git server, Jenkins, Nexus, SonarQube, testservers) en monitoring en logging applicaties (Elasticsearch/Logstash/Kibana). Deze applicaties werden gehost op een aantal fysieke servers in een serverruimte in het eigen kantoorpand van Eleven. 

Door groei van de activiteiten ontstond bij Eleven de behoefte de capaciteit van de servers uit te breiden. Daarbij waren er een paar specifieke aandachtspunten:

  • sommige van de applicaties kennen een duidelijke piekbelasting, zoals de Jenkins build server, die met honderden build jobs waarvan er soms tientallen tegelijk worden gestart soms zwaar belast is en wachttijden geeft in het development proces;

  • diverse van de applicaties zijn alleen tijdens kantooruren in gebruik, het is niet nodig om deze in de avond of het weekend actief te laten;

  • de applicaties zijn bedrijfskritisch: als deze niet beschikbaar zijn dan kunnen we ons werk niet uitvoeren. Een hoge beschikbaarheid is vereist;

  • voor het uitvoeren van updates, tests en innovatie is het wenselijk om eenvoudig nieuwe servers aan te kunnen maken, die eventueel na korte tijd weer verwijderd kunnen worden;

Oplossing

Na verkenning van alternatieven is ervoor gekozen om de applicaties te gaan migreren naar Amazon Web Services (AWS). Hiertoe is in AWS een Virtual Private Cloud (VPC) ingericht en zijn een aantal van de bestaande virtuele servers één-op-één naar AWS EC2 instanties in deze VPC gemigreerd met behulp van de AWS VM Import tools. Voor andere servers zijn nieuwe EC2 instanties ingericht. Met behulp van AWS Virtual Private Network is een beveiligde verbinding gemaakt tussen de VPC en het kantoornetwerk van Eleven. Hierdoor zijn de applicaties die in AWS worden gehost alleen vanaf het kantoornetwerk van Eleven bereikbaar, het is feitelijk een stukje kantoornetwerk op afstand.

Eleven werkt nu enkele jaren met deze infrastructuur en inmiddels zijn alle lokaal gehoste applicaties overgezet naar AWS. Daarbij ziet Eleven deze voordelen:

  • kostentechnische voordelen: er is geen investering nodig in servers, koeling en UPS voorzieningen en de elektriciteitskosten zijn beduidend omlaag gegaan. Doordat het merendeel van de servers slechts 5x10 uur actief is en AWS de kosten voor EC2 doorberekend per uur dat de servers actief zijn, is er sprake van een financieel voordeel; 

  • de infrastructuur bij AWS is fysiek en netwerktechnisch gezien beter beveiligd dan op kantoor. AWS heeft uitgebreide maatregelen genomen voor bescherming van de datacenters en biedt verschillende mogelijkheden om de EC2 servers in de Virtual Private Cloud af te schermen;

  • de beschikbaarheid van de applicaties is verbeterd ten opzichte van de situatie waarbij ze op kantoor werden gehost. Daarbij is in deze case nog geen gebruik gemaakt van het redundant inrichten van servers in verschillende availability zones, maar zijn er wel recovery procedures ingericht om servers snel weer actief te kunnen maken in het geval een availability zone niet bereikbaar zou zijn;

  • de Jenkins build server is voorzien van een uitbreiding waarmee Jenkins worker nodes naar behoefte automatisch worden toegevoegd en weer gestopt. Als er veel build jobs tegelijk worden gestart, dan worden er meerdere worker nodes op EC2 gestart en kunnen deze build jobs parallel worden uitgevoerd. De wachttijd voor de developers is hiermee sterk verkort. De worker nodes worden aangemaakt als EC2 Spot Instance, wat de kosten voor de inzet van deze servers nog lager maakt;

  • de uploads bij uitleveringen naar test-, acceptatie- en productieservers zijn veel sneller geworden. Duurde een upload vanaf kantoor 3 tot 5 minuten, nu is deze in 10 seconde gereed;

Samenwerking

Inmiddels helpt Opserve Eleven ook met het overzetten van productie omgevingen van enkele maatwerk applicaties die Eleven voor haar klanten bouwt over te zetten naar AWS. Het gaat hierbij om applicaties waarbij beschikbaarheid en/of schaalbaarheid een belangrijke eis is. Daarbij wordt ook gebruik gemaakt van de verschillende managed services die AWS biedt, zoals ECS (managed container services), RDS (managed database service), S3 en EFS (opslagservices), Cloudfront (een wereldwijd Content Delivery Network).

Meer weten?

Speelt u ook met de vraag of een migratie naar AWS u kan helpen uw processen te optimaliseren, neem dan contact met ons op via contact@opserve.nl of 088 488 4444.