Insights

Beheer in Google Cloud, het proces en de best practices

Beheer in Google Cloud, het proces en de best practices

Elk ontwikkelteam heeft een lange lijst met softwarefeatures waar de bedrijfsonderdelen om vragen. Of het nu gaat om het bouwen of verbeteren van een product of een applicatie, er zijn ontwikkelaars voor nodig. Maar naarmate het bedrijf groeit, merken IT-managers soms dat de beheertaken die uit het werk van de ontwikkelaars voortkomen steeds meer van hun tijd opslokken. Groeit het klantenbestand en heeft het bedrijf misschien de eerste pieken gezien, dan is het tijd om na te denken over professioneel beheer.

Iemand in dienst nemen lijkt misschien een makkelijke optie, als je organisatie de juiste persoon kan vinden om het beheer te doen. Een andere optie is uitbesteden aan een groter supportteam op afstand. Dan krijgt je bedrijf te maken met een ticketsysteem dat wordt afgehandeld door verschillende engineers in verschillende tijdzones. En vergeet niet dat je dan nog steeds iemand intern nodig hebt om alles nauwgezet aan te sturen. De derde optie is een vaste consultant die precies levert wat je organisatie nodig heeft, nauw samenwerkt met het interne team en helpt op het moment dat het nodig is.

In de cloud kun je applicaties makkelijk uitrollen zonder een beheerteam aan te nemen, maar er is altijd een deel beheer dat gedaan moet worden en dat je niet kunt laten liggen als je de bedrijfscontinuïteit wilt waarborgen. Hoe meer zicht en monitoring er is, hoe makkelijker het wordt om te groeien, te vernieuwen en kosten te besparen. In dit artikel vertellen we wat beheer betekent in de context van Google Cloud en hoe wij de cloudomgevingen van onze klanten monitoren.

Wat beheer omvat

Het dagelijkse beheer bestaat uit het monitoren van processen zoals datapipelines, datakwaliteit en facturatie. Ook kwaliteitsborging rekenen we daartoe. Concreet controleren we de actualiteit van de data (is ze op tijd geleverd), de volledigheid (ontvangen we alle bestanden) en de juistheid (bevatten de bestanden de informatie die we verwachtten, in het juiste formaat).

Vroeger was er meestal een softwareontwikkelteam dat de oplossingen ontwierp en bouwde, en een beheerteam dat de omgeving onderhield. Tegenwoordig werken we met DevOps-werkwijzen. Bij DevOps zijn het ontwikkelteam en het beheerteam samengevoegd, zodat de ontwikkelcycli van software en data soepel verlopen.

Datapipelines

De eerste categorie die we bij het beheer monitoren, zijn de datapipelines. Een datapipeline is een infrastructuur die zorgt voor de levering en de nodige transformatie van data. Daarom is het belangrijk om in de gaten te houden of hij gezond is.

De basisindicatoren daarvoor zijn:

  • Status van de job: geslaagd of mislukt?
  • Latentie: hoe lang duurt het voordat de job klaar is?

Neem een Dataflow-job als voorbeeld. Om de hierboven genoemde controles te kunnen doen, onderneemt het beheerteam deze stappen:

  • Alerts instellen in Stackdriver die een e-mail sturen wanneer een Dataflow-job mislukt;
  • Metrics verzamelen over de doorlooptijd en de hoeveelheid data die het proces binnenhaalt.

Beheer in Google Cloud, het proces en de best practicesBeheer in Google Cloud, het proces en de best practices

Datakwaliteit

Nadat we hebben gecontroleerd of de infrastructuur werkt zoals verwacht, monitoren we de datakwaliteit. We noemden al dat je data kunt beoordelen op actualiteit, volledigheid en juistheid (voldoet ze aan de eisen van de organisatie).

We beginnen met het controleren van de data op het moment dat ze binnenkomt, op de volgende criteria:

  • Schema
  • Formaat
  • Omvang
  • Tijdstip van aankomst

Het beheerteam heeft scripts gemaakt die deze controles automatiseren. Mislukt een van de controles, dan gaat er een alert af.

Crystalloids (92)Beheer in Google Cloud, het proces en de best practices

Facturatie

Een van de belangrijkste beheertaken voor de organisatie is het monitoren van de kosten op de factuur en van grote veranderingen in de uitgaven. Zien we verdachte pieken in het facturatierapport, dan zoeken we uit:

  • in welke omgeving de kosten zijn gemaakt (dev, test of prod)
  • welke Google Cloud-producten of -resources ze veroorzaken
  • welke processen binnen die producten erbij betrokken zijn

Daarna nemen we contact op met de ontwikkelaars of producteigenaren die verantwoordelijk zijn voor dat project. Hieronder zie je een voorbeeld van zo'n rapport en welke Google Cloud-producten hebben bijgedragen aan de totale kosten.

Beheer in Google Cloud, het proces en de best practices

Het beheerproces

Rapporten en automatische alerts

Er zijn veel visualisatietools die je voor beheer en monitoring kunt gebruiken, zoals Google Data Studio, Looker en Tableau. Om de Google Cloud-omgevingen te monitoren, werken we met Google Data Studio. Daarmee maken we eigen dashboards en zien we snel fouten of overmatig verbruik. Bovendien kun je de rapporten delen met andere teamleden, kun je ze gebruiken om het verbruik van resources en de kosten te voorspellen, en Data Studio is gratis.

In Google Cloud kun je het monitoren automatiseren door alerts in te stellen die de juistheid van de data controleren of nagaan wanneer tabellen voor het laatst zijn bijgewerkt. Wij richten het waarschuwingssysteem en de monitoringalerts in met Stackdriver, een product van Google Cloud. Met Stackdriver kunnen we bijvoorbeeld datapipelines monitoren. Loopt een Dataflow-job achter of is hij mislukt, dan krijgen we automatisch een e-mail.

Dagelijkse monitoring

Voor elk project leggen we in Confluence vast welke processen er zijn, welke controles we moeten doen en wat we doen als er iets misgaat. Dagelijks controleren we onder meer:

  • Dataflow-jobs
  • Cronjobs
  • Geplande query's
  • De status van openstaande Jira-tickets
  • De levering van bestanden in bepaalde buckets

Het beheer van de productieomgeving helpt om afwijkingen in de prestaties op te sporen, en problemen met de beschikbaarheid van de dienst die het gebruik van de systemen kunnen raken. We werken nauw samen met de ontwikkelaars en overleggen met hen over verwacht gedrag of bugs die zijn opgedoken. Ontwikkelaars horen zich te richten op nieuwe releases, maar ze maken onvermijdelijk deel uit van het monitoringteam dat ervoor zorgt dat alle andere processen soepel verlopen.

Maandelijkse servicereview

Een best practice is om het beheer naar een strategischer niveau te tillen door het regelmatig met het senior IT-management door te nemen. Uit zo'n review kunnen structurele verbeteringen voortkomen. Dit zijn de onderdelen die we meestal in een servicereview behandelen:

  • Actiepunten en notulen van de vorige review
  • Beheeractiviteiten en tools
  • Incidentmanagement
  • Serviceverzoeken
  • Overzicht van de SLA (service level agreement)
  • Beheeroverleg: onderwerpen en notulen
  • Facturatierapport
  • Serviceverbeterplan

Met zo'n review houden we overzicht op het beheer en op de samenwerking tussen de teams, de technologie inbegrepen.

Het serviceverbeterplan kan bestaan uit onderwerpen zoals in de afbeelding hieronder

Beheer in Google Cloud, het proces en de best practices

Samenvatting

Beheer is voor goed werkende software net zo belangrijk als de applicatie zelf. Organisaties kunnen het zich niet meer veroorloven om het risico te lopen op systeemstoringen die de productiviteit raken en geld kosten. Wij kunnen je helpen een veilige en betrouwbare cloudomgeving te onderhouden zonder je budget te zwaar te belasten.

Bekijk onze diensten

OVER CRYSTALLOIDS

Crystalloids helpt bedrijven hun klantervaring te verbeteren en marketingtechnologie te bouwen. Crystalloids is in 2006 in Nederland opgericht en bouwt heldere oplossingen die klantdata omzetten in informatie, en kennis in wijsheid. Als vooraanstaande Google Cloud Partner combineert Crystalloids ervaring in softwareontwikkeling, data science en marketing, wat het een IT-bedrijf maakt dat zich onderscheidt. Met een agile aanpak zorgt Crystalloids ervoor dat use cases hun klanten direct waarde opleveren, zodat die meer tijd hebben voor besluitvorming en minder bezig zijn met programmeren.

Onderwerpen: Google Cloud
Beata Blazskowska

Beata Blazskowska

Head of Development

Beata werkt als Technical Leader en Staff Engineer. Ze stuurt de technische koers van de teams van Rituals en stemt de architectuur af op de bedrijfsdoelen.

Bekijk alle artikelen