Insights

Apigee koppelen aan DevOps: best practices voor API-beheer

Organisaties leunen steeds meer op API's om diensten met elkaar te verbinden, de klantervaring te verbeteren en consistent waarde te leveren. Maar die API's goed beheren kan een complexe taak zijn. Daarvoor zijn platforms als Apigee API Management bedoeld. Door Apigee in onze DevOps-pipeline op te nemen, hebben we workflows vereenvoudigd, de beveiliging versterkt en de efficiëntie verbeterd.

In deze blog vertellen we hoe we Apigee met succes hebben ingebouwd, tegen welke uitdagingen we onderweg aanliepen en wat het ons heeft opgeleverd.

Wat de koppeling oplevert

Het opnemen van Google Cloud Apigee API Management in onze DevOps-pipeline heeft veel opgeleverd, vooral op het gebied van beveiliging, consistentie en controle. Uitrollen gebeurt met een service account met de rol "Apigee Organization Admin", zodat alleen geautoriseerde wijzigingen worden doorgevoerd. De inloggegevens staan veilig opgeslagen in Bitbucket, waardoor de pipeline de enige manier is om proxy's uit te rollen. Dit gecontroleerde proces beperkt risico's en zorgt voor een hoog beveiligingsniveau.

Door Apigee API Management te combineren met DevOps-werkwijzen sluiten we API-beheer aan op agile workflows. Daardoor kunnen we:

  • API's automatisch uitrollen: API's sneller uitrollen en bijwerken, met minder handmatige fouten.
  • Doorlopend monitoren: de prestaties van API's volgen en analyseren als onderdeel van onze CI/CD-pipeline.
  • Consistentie bewaken: zorgen dat policies, beveiligingsmaatregelen en versies in alle omgevingen gelijk zijn.

Lees meer over hoe een API-platform past in je bedrijfsstrategie.

Onze DevOps-stack

Onze DevOps-pipeline draait op twee belangrijke tools voor het inrichten van projecten en het beheren van proxycode: Terraform en Git Bitbucket.

  • Terraform bouwt de infrastructuur van onze Apigee-omgeving op, waaronder het aanmaken van instances, het configureren van load balancers en het beheren van service accounts. Die onderdelen zijn essentieel voor een robuust en schaalbaar geheel: ze vereenvoudigen het uitrollen en dwingen consistente beveiliging af.
  • Git Bitbucket is de centrale repository voor het uitrollen van proxy's en configuratie. Het stuurt de uitrol van proxy's aan via eigen pipelines, en zorgt voor consistentie, automatisering en efficiënt beheer van configuratie zoals target servers en key-value maps (KVM's). Samen vormen Terraform en Bitbucket de ruggengraat van onze DevOps-stack.

Automatisering bij het uitrollen

Onze CI/CD-pipeline is gekoppeld aan Apigee API Management om het uitrollen van proxy's en het bijwerken van de portal te automatiseren. Wordt bijvoorbeeld een API-endpoint aangepast, dan werkt de pipeline automatisch de OpenAPI-specificatie in onze portal bij, zodat de documentatie actueel blijft zonder handwerk. Die automatisering maakt het werk efficiënter en houdt de API-gegevens juist.

Daarnaast werken we volgens de principes van Infrastructure as Code (IaC) door Apigee-configuraties te beheren met tools als Terraform. Omdat we de uitrol van API-proxy's in code vastleggen, kunnen we onze configuraties onder versiebeheer brengen, omgevingen nabouwen voor test of productie en wijzigingen zo nodig eenvoudig terugdraaien. Deze aanpak is essentieel om op schaal wendbaar en veerkrachtig te blijven.

Centrale configuratie en proactieve monitoring

Apigee opnemen in onze DevOps-werkwijze bracht een paar uitdagingen mee, vooral bij het opzetten van een schaalbare projectstructuur en het testen met een lokale emulator. Daarvoor gebruikten we specifieke Maven-plugins: de Apigee Deploy Maven Plugin voor het uitrollen van proxy's en de Apigee Config Maven Plugin voor het uitrollen van configuratie. Die tools maakten lokale ontwikkeling eenvoudiger en sloten beter aan op onze DevOps-stack.

Ook gebruikten we de Apigee Management API's om taken te automatiseren, zoals het aanmaken van API-proxy's, het bijwerken van policies en het configureren van instellingen. Met die API's konden we automatisch uitrollen en policies consistent beheren, wat nodig was om te kunnen schalen en snel te itereren.

Uitdagingen en oplossingen

Een groot voordeel van Apigee in onze DevOps-pipeline is dat we configuratiebeheer kunnen centraliseren en automatiseren. Door configuratie per framework in een Maven-project bij te houden, konden we proxy's efficiënt naar verschillende omgevingen doorzetten. Dat zorgde voor consistentie en sneller uitrollen. Deze aanpak verminderde handwerk, beperkte configuratiefouten en hielp ons krappe uitrolplanningen te halen.

We hebben ook monitoringtools als Prometheus en de ingebouwde analytics van Apigee gekoppeld om zicht te krijgen op responstijden, foutpercentages en verkeersvolumes van API's. Met die metrics hielden we een snelle feedbacklus in stand, zodat problemen werden gevonden en opgelost voordat eindgebruikers er last van hadden.

Tips voor technisch leidinggevenden

  • Regiokeuze: kies de regio's voor Apigee X-instances op basis van prestaties en eisen aan dataresidentie, om latency te beperken en aan regelgeving te voldoen.
  • Domeinconfiguratie: zorg dat je domein of subdomein klaarstaat, met een "A-record" dat naar het IP-adres van de juiste load balancer wijst. Een goed ingericht domein is essentieel om API-verkeer zonder onderbreking te routeren.
  • Automatiseer zoveel mogelijk: automatiseer het uitrollen van proxy's, beveiligingscontroles en portalupdates voor meer consistentie, meer efficiëntie en minder kans op menselijke fouten.
  • Werk met GitOps: gebruik Git als enige bron van waarheid voor alle API-configuratie. Met GitOps-workflows voor het uitrollen houd je je processen herleidbaar en transparant.
  • Test vroeg en doorlopend: test API-proxy's, policies en functionaliteit om problemen vroeg te vinden. Zo houd je de kwaliteit hoog en verklein je de kans op problemen in productie.

Wie deze punten vroeg aanpakt, kan als ontwikkelaar een goed ontworpen geheel bouwen dat soepel in de DevOps-pipeline past, en dat de prestaties, beveiliging en betrouwbaarheid van de bedrijfssystemen als geheel verbetert.

Onze ervaring is dat API-beheer met een DevOps-aanpak onze architectuur ondersteunt en het beheer van microservices efficiënt maakt. Apigee is een krachtig platform dat API-beheer voor ontwikkelaars vereenvoudigt en tegelijk zorgt voor beveiliging en schaalbaarheid. Dat is vooral nuttig in een architectuur op basis van microservices, waar het beheer van veel API's cruciaal wordt.

Richard Verhoeff

Richard Verhoeff

CEO en Managing Partner

Richard Verhoeff is CEO en Managing Partner bij Crystalloids.

Bekijk alle artikelen