Terugblik: de verbeteringen in 2016 vanuit de ogen van Systeembeheer!

Een Antagonist is kritisch. We zijn daarom altijd bezig met dingen die we nog beter, nog sneller, nog veiliger en nog aantrekkelijker willen maken. Het is daarbij gemakkelijk om te vergeten wat er al verbeterd is en op welke punten we voorop lopen qua innovatie. Tijd voor een terugblik!

Terugblik: de verbeteringen in 2016 vanuit de ogen van Systeembeheer!

Natuurlijk heeft mijn collega Jeroen al grotendeels teruggeblikt op de zichtbare wijzigingen van 2016. Daar houdt het voor ons SysOps-team echter niet op! Via dit artikel wil ik daarom graag samen met jou terugblikken op wat we vanuit het oogpunt van Systeembeheer in het afgelopen jaar hebben gedaan.

Laten we beginnen met de fundering. We hadden begin 2016 natuurlijk al de beschikking over ons nieuwe hostingplatform, een fijne basis om vanuit verder te bouwen. Dit platform is dusdanig opgezet, zodat het ons mogelijk maakt leuke dingen toe te voegen. Wat is er dan zoal gebeurd?

Verder lezen

Hoe wij ons platform en infrastructuur nauwkeurig monitoren

Het is weer hardcore tech-time! Dit keer neem ik je mee in de monitoring van onze systemen en ons platform. Doordat we alles nauwlettend in de gaten houden, weten we precies wat er wel en wat er niet goed gaat in ieder onderdeel van ons platform. We hebben onze monitoring zorgvuldig afgericht, waardoor we problemen vrijwel altijd van tevoren zien aankomen. We ondernemen dan proactief actie, zodat de impact van het probleem minimaal blijft en niet escaleert.

Monitoring bij Antagonist: de servers bij Antagonist

De kwaliteit van onze dienstverlening is immers zo goed als onze monitoring; hoe beter we anticiperen, hoe gebruiksvriendelijker het voor je wordt! Dat betekent dat er heel veel achter de schermen wordt gedaan zonder dat iemand het in de gaten heeft. Want wat er onder de ‘motorkap’ gebeurt is onze verantwoording, zodat jij met je website kunt doen wat je écht wilt. Toch is het af en toe interessant om even onder die motorkap te kijken naar wat voor successen er worden geboekt. Iets dat wijzelf ook weleens vergeten om bij stil te staan.

Onze setup voor monitoring

Voor onze monitoring maken we gebruik van Zabbix. Deze (opensource)software stelt ons in staat om ieder onderdeel van ons platform tot in detail te observeren. Als dingen niet zo gaan zoals het hoort, dan kunnen we eenvoudig hier acties op uit te voeren. Een simpel voorbeeld van één van deze acties is: het versturen van een bericht naar de dienstdoende systeembeheerder zijn.

Monitoring bij Antagonist: logo Zabbix

Iedere server wordt constant op 458 punten gecontroleerd. De uitkomst van deze checks wordt opgeslagen in een PostgreSQL-database, zodat we er later uptime- en performance-statistieken kunnen uithalen voor rapportage. Ook gebruiken we deze gegevens voor het generen van rapportages voor storingen. Samen – alle servers bij elkaar opgeteld – zorgt dat ervoor, dat onze Zabbix-installatie 897 punten per seconde controleert en opslaat. Hoe veilig wil je het hebben?

Dikke server

Zoals je begrijpt, hebben we een flinke server nodig om al die controles per seconde uit te voeren en hiervan de resultaten op te slaan. Daarnaast moet het ook nog eens gemakkelijk verwerkt kunnen worden. Voor de techneuten (of andere geïnteresseerden) zijn dit de specificaties van deze server: 2 x Intel E5-2640 2.5GHz CPU (totaal 24 threads), 64 GB RAM, 15k RPM disks in RAID10 configuratie.

Om je een beter inzicht te geven in hoe diep wij ons platform monitoren, ga ik ieder onderdeel hieronder afzonderlijk bespreken.

Verder lezen

Een pikdonker en doodstil datacenter…

Afgelopen dinsdag, 23 juni 2015, gebeurde rond 8:30 uur het ergste wat een hostingprovider kan overkomen: er was een volledige black-out in één van de datacenters, waarin wij het merendeel van onze servers hebben geplaatst. Het gevolg: alle apparatuur down en tienduizenden klanten onbereikbaar. Een fantastisch begin van de dag. Het kan nóg erger: totale verwoesting van het datacenter in kwestie, maar dat was gelukkig niet aan de orde. Wat dan wel? Nou, een stroomstoring…

Stroomuitval in het dataceter: pikdonker en doodstil

Ik hoor het je denken: “Hè, wat?! Dat kan toch niet? Alles in zo’n datacenter is beveiligd, dubbel uitgevoerd, heeft noodaggregaten en zo?” Inderdaad, dat is er allemaal en in veel gevallen zelfs vierdubbel uitgevoerd. In theorie kan stroomuitval dus niet voorkomen. Echter, door de meest ongelukkige samenloop van omstandigheden gebeurde het toch. Een goed voorbeeld van hoe theorie en praktijk soms ver uit elkaar liggen.

Naast dat het voor iedereen zeer vervelend is, was het voor ons ook een ultieme proef of we spoedig konden herstellen van zo’n grote storing. Daarnaast was het de vuurdoop voor ons nieuwe platform, waarin duidelijk werd of het in de praktijk deed wat het moest doen. Omdat jij ook recht hebt op deze informatie, hebben we hieronder een gedetailleerd verslag geschreven.

Inhoudsopgave

  1. Antagonist zegt sorry!
  2. Klein team, veel klanten
  3. Prioriteit tijdens calamiteit
  4. Hoe kan dat dan, geen stroom?
  5. De gevolgen voor Antagonist
  6. Opstarten na stroomuitval
  7. Nazorg, totdat alles weer in orde is
  8. Wat is de schade?
  9. Communicatie
  10. Hoe gaan we dit voorkomen?
  11. One more thing…

Antagonist zegt sorry!

Maar eerst zeggen we: “Sorry!” Een storing is altijd hinderlijk. Helemaal als klanten er de dupe van worden. Door de stroomstoring in het datacenter heeft ons gehele platform er even uit gelegen. Al onze klanten hebben daardoor downtime ondervonden. Daarnaast hebben enkele klanten langer last gehad vanwege herstelwerkzaamheden.

Het ‘uitvallen’ van de stroom heeft dus een behoorlijke impact. Dat vinden we erg vervelend en daarom bieden we onze excuses aan. Dat is tevens één van de redenen voor dit blog. Daarnaast willen we je een eerlijk en helder inzicht geven in wat er precies is gebeurd.

Tijdens de storing hebben we regelmatig updates geplaatst. Het waren vooral beknopte berichten over de voortgang van de situatie en het herstel. Daarnaast hebben we twee ‘post incident’-berichten geschreven. Deze gaven inzicht in de toedracht. De werkelijke gevolgen zijn voor een buitenstaander wellicht lastig voor te stellen. Vandaar dat we je graag een kijkje in de keuken geven, hoe het er dinsdag aan toe ging.

Klein team, veel klanten

Antagonist heeft tienduizenden klanten en 12 medewerkers. Zodoende moet je tijdens een grote storing, als een geoliede machine te werk gaan. Alles moet vanzelfsprekend zijn, want tijd is er niet. Met een klein en hecht team moet je handelen vanuit instincten. Juist daarom vinden we het zo belangrijk dat een medewerker goed moet passen binnen ons team. Naast de juiste kennis en vaardigheden zoeken we dus naar de perfecte match.

Als het misgaat, dan is het heel simpel. Er zijn drie dingen die er toe doen. Eén: onze klanten moeten zo snel mogelijk weer online. Twee: voorkom zoveel mogelijk schade en dataverlies. Drie: zorg voor een vlotte en oprechte communicatie, waarin vragen van klanten zorgvuldig worden beantwoord.

Qua prioriteit ligt het ietsje ingewikkelder. De hoogste prioriteit is bij Antagonist altijd data-integriteit. Dat betekent dat we het voorkomen van dataverlies belangrijker vinden dan beschikbaarheid. Je hebt immers niets aan een website zonder data. Gelukkig hoeven we ons daar weinig zorgen over te maken. Gegevens worden veilig opgeslagen. De kans op dataverlies is daardoor zeer gering. Zodoende storten we ons, tijdens een storing, vrijwel direct op de beschikbaarheid.

Prioriteit tijdens calamiteit

Goed, het is dinsdagochtend en we zien dat er heel veel loos gaat. De oorzaak weten we niet. Er was weliswaar een sterk vermoeden dat het om een (deels) falende stroomtoevoer gaat, maar dat kunnen we niet bevestigen. Dat is erg naar. Want hoe kun je iets oplossen, als je het probleem niet kent?

Verder lezen

Software-updates bij Antagonist

In dit artikel ga ik jullie weer een kijkje in de keuken van Systeembeheer geven. In een vorige artikel vertelde mijn collega Ewoud al over Open Source software, en daar is Antagonist een fanatiek gebruiker van. Software heeft echter liefde en aandacht nodig, en het gebeurt maar al te vaak dat, na het installeren er niet meer naar omgekeken wordt. Dit is één van de grootste oorzaken van vreemde bugs en ernstige security-problemen.

Software-updates bij Antagonist

Maar het kan ook anders, want dat bewijzen we bij Antagonist! Zodoende neem ik je in dit artikel graag mee in het reilen en zeilen van software-updates binnen Antagonist. Hoe kiezen we onze software, minimaliseren we de kans op bugs en zorgen we dat altijd de laatste stabiele versies hebben draaien? Op deze vragen zul je hieronder een antwoord vinden.

Routines zijn belangrijk

Een aantal maanden geleden hebben we een tweewekelijkse routine ingevoerd voor het up-to-date houden van de software die wij draaien om je website te serveren. We hebben dit gedaan om de kwaliteit van onze dienstverlening naar een nog hoger niveau te tillen. Deze routine heeft de naam ‘update-donderdag’ gekregen en valt zoals de naam al aangeeft op een donderdag, in elke week met een oneven nummer. Omdat we als organisatie steeds verder groeien, ontstond langzaam de vraag naar standaardisatie van werkzaamheden. Update-donderdag is hier een mooi voorbeeld van. We hebben hier een aantal waardevolle doelen mee bereikt.

  • Iedereen binnen ons bedrijf is op de hoogte welke updates (inclusief de specifieke versienummers) er gaan plaatsvinden.
  • Er is een vast moment wanneer updates worden uitgerold. Er zijn geen verrassingen voor medewerkers.
  • Doordat er een vast moment is, kunnen we problemen die, in het meest onfortuinlijke geval zouden ontstaan, snel in kaart brengen. Dit houdt tevens in dat problemen die buiten dit tijdsbestek ontstaan, waarschijnlijk niet gerelateerd zijn aan de updates.
  • We kunnen er in onze (tweewekelijkse) urenplanning rekening mee houden. We weten uit ervaring hoeveel tijd het kost om ons platform te updaten. Dit maakt realistisch plannen een heel stuk gemakkelijker!
  • We weten zeker dat we nooit meer dan twee weken achterlopen op de meest recente versie van software.
  • Mochten we een belangrijke (bijvoorbeeld security-) update over het hoofd hebben gezien, dan wordt deze alsnog met de routine meegenomen. Het is dus een extra vangnet.

Verder lezen

Sander, de nieuwe systeembeheerder die ons platform nog beter gaat maken!

Antagonist Systeembeheerder: Sander HoentjenEven voorstellen: ik ben Sander Hoentjen, 33 jaar oud, getrouwd en trotse vader van twee dochters. Naast het gezinsleven heb ik nog een grote passie: ICT, en dan met name Linux gerelateerd.

Het was mijn tweede passie waardoor ik acht jaar geleden in de hostingmarkt ben terechtgekomen. Een markt die vooroploopt in het implementeren van nieuwe ontwikkelingen. Het bijhouden van en bezig zijn met deze ontwikkelingen is iets waar ik enthousiast mijn tijd in kan steken en graag aan werk. Daarnaast houd ik van uitdagingen en na acht jaar met veel plezier bij mijn vorige werkgever te hebben gewerkt, was het tijd voor een nieuwe uitdaging: Antagonist.

Waarom Antagonist? Omdat we een gedeelde visie hebben hoe je verregaande automatisering kunt gebruiken om klanten de allerbeste oplossing te bieden. Ik denk dat ik een hele mooie bijdrage kan leveren in het Antagonist-team en heb er erg veel zin in!

P.S. Wil je op de hoogte blijven van alle artikelen, tips en trucs die verschijnen op ons blog? Dat kan! Rechts bovenin via RSS, e-mail, het liken van onze Facebook-pagina of het volgen op Twitter.

KernelCare: wederom een stap richting een nóg betere gebruikservaring!

KernelCare bij Antagonist: constant verbeteringen!Elke dag werken we keihard aan de verbetering van onze dienstverlenging. Wat aan de ‘achterkant’ van je hostingpakket gebeurt valt misschien niet direct op, maar bepaalt wél hoe stabiel, snel, betrouwbaar en veilig je website is.

Als pionier in webhosting loopt Antagonist voorop in technologische ontwikkelingen. Zodoende maken we gebruik van CloudLinux en hebben we onlangs een nieuw onderdeel geïmplementeerd genaamd KernelCare. Waardoor we een nóg betere gebruikservaring kunnen creëren voor onze klanten. Wat ten goede moet komen aan de klanttevredenheid!

KernelCare implementeren

Zoals gezegd merkt een klant of eindgebruiker in het begin niets van de implementatie van KernelCare en dat is juist de bedoeling. Want wat er onder de ‘motorkap’ gebeurt is onze verantwoording, zodat jij met je website kunt doen wat je écht wilt. Toch is het af en toe leuk om stil te staan bij het feit, dat er onder die motorkap heel veel vooruitstrevende successen worden geboekt. Iets waarvan we zelf ook wel eens vergeten om bij stil te staan.

KernelCare bij Antagonist: logo KernelCare

Pas wanneer een ander erover schrijft realiseren we hoe gaaf het is dat we deze vooruitgangen hebben geboekt. Zo verscheen eerder deze week een artikel op ZDNet, een vooraanstaande website in de IT-sector, over KernelCare. Het artikel beschrijft hoe, dankzij een nieuw programma, het rebooten van Linux-systemen kan worden voorkomen of in ieder geval zeer sterk kan worden teruggedrongen.

Verder lezen

Systeembeheer bij Antagonist, een kijkje in de keuken: configuratie-management

Systeembeheer: configuratie-management bij AntagonistTijd voor een kijkje in de keuken van de afdeling Systeembeheer bij Antagonist. Niks geen klikker-de-klik met de muis (sorry Windows sysadmins), het gaat hier over keiharde, diepgaande Linux-automatisering. In dit artikel zullen we een duik nemen in het configuratie-management van de servers waarop jouw websites en e-mail zijn opgeslagen. Tevens krijg je enigszins een inzicht in de werkwijze van de afdeling Systeembeheer bij Antagonist.

Waarom configuratie-management voor systeembeheer?

Als je vroeger (slechts enkele jaren geleden) een wijziging wilde doorvoeren aan de configuratie, op laten we zeggen 60 servers, dan moest je op elke server met SSH inloggen. Vervolgens voerde je de benodigde handelingen uit en controleerde je of alles goed was gegaan. Een intensieve klus, met veel ‘breindodend’ werk die helaas regelmatig voorkwam, niet echt de hobby van een systeembeheerder bij Antagonist.

Systeembeheer: de servers van Antagonist

Dit was echter niet het enige waar we tegenaan liepen. Om te streven naar een volmaaktheid in automatische processen waren er diverse obstakels, een opsomming hiervan, die snakten naar een goede oplossing, worden hieronder beschreven.

  • Als je bij één van de snelstgroeiende IT-bedrijven van de Benelux werkt, dan groeit je serverpark vanzelf ook snel. Elke server die erbij komt zorgt voor extra werk en kost dus extra tijd, want het aantal wijzigingen om door te voeren groeit bij elke extra server.
  • Namate we meer servers kregen en deze ‘ouder’ werden, begonnen zogenaamde configuration drifts te ontstaan. De configuratie, zoals hij zou moeten zijn, begon langzaam maar zeker per server af te wijken. Hierdoor ontstonden rare bugs en afwijkend onvoorspelbaar gedrag. Iets wat tijd kost om keer op keer opnieuw uit te zoeken, maar nog belangrijker: een klant van ons kon hier last van krijgen. Daarnaast houden nerds niet van onvoorspelbaar gedrag ;).
  • Wanneer we een wijziging doorvoerden, dan wist degene die dat deed natuurlijk prima wat er gedaan was, maar de rest van het bedrijf was niet op de hoogte en dit was na verloop van tijd ook lastig terug te vinden.
  • Waar mensen werken worden nou eenmaal fouten gemaakt, zelfs door Linux-ninja’s ;). Bij een handeling die je 100 keer moet uitvoeren is er immers een kans aanwezig dat er ergens een klein foutje insluipt en ervoor zorgt dat bijvoorbeeld de webserver niet meer werkt.
  • Wanneer een wijzing niet zoals gepland ging en een zogenaamde rollback nodig was, dan kwam er een hoop handmatig werk aan te pas, server voor server waren er handelingen vereist en dat kostte bijzonder veel tijd.

Met alle uitdagingen die hierboven beschreven staan, viel ons oog al snel op een nieuw, shiny en fancy stukje software genaamd Puppet!

Verder lezen