Er wordt overal over API’s (Application Program Interfaces) gesproken en zelfs als u niet weet wat een API precies is heeft u de term waarschijnlijk vaker gehoord. In dit artikel behandelen we een paar basisprincipes van API’s en waarom u API monitoring zou moeten gebruiken als u een API publiceert of een API heeft die cruciaal voor uw bedrijf is.
Wat is een API?
API’s zijn softwareprogramma’s die communicatie tussen hunzelf en andere softwareprogramma’s mogelijk maken. De software kan ook communicatie tussen de applicaties op hetzelfde apparaat mogelijk maken; zoals een app die bijvoorbeeld gebruik maakt van de camera op uw telefoon. Of die communicatie mogelijk maakt via een netwerk zoals het Internet; het US Postal System publiceert bijvoorbeeld een API die adressen verifieert en conformeert nadat de gebruiker zijn of haar adresgegevens op een e-commercesite heeft ingevoerd. Lees meer over API’s.
Hoe werken API’s?
Op een fundamenteel niveau biedt een webservice (een API die toegankelijk is via het internet) methodes, zoals updateCart
om een artikel aan een winkelwagen toe te voegen. De methode, updateCart
, omvat data (value pair) zoals "itemnummer":11515
, "maat":"L"
, en "hoeveelheid":1
. De server accepteert de geformatteerde aanvraag en werkt de winkelwagen van de gebruiker bij. In de meeste gevallen reageert de server met extra gegevens die de client verwerkt, zoals het weergeven van aanbevolen producten op basis van het product dat aan het winkelwagen is toegevoegd of schatting van de verzendkosten.
Wat doen API’s?
Een bedrijf kan API’s publiceren voor eigen gebruik en vaak publiceren zij een API voor anderen om gebruik van te maken. Net als het voorbeeld van de US Postal Service, bieden veel bedrijven diensten aan via API’s.
- Social media: Facebook, Twitter en meeste andere social media websites bieden API’s aan waarmee andere sites en diensten met hun systemen kunnen communiceren om reclame te beheren, berichten te plaatsen of om te reageren op berichten van gebruikers.
- Financieel: Behalve ‘merchant services’ bieden financiële instellingen API’s aan voor hun gebruikersapplicaties, het bijhouden van rente, aandelenkoersen en leningaanvragen.
- Entertainment: Behalve ticketing- en gaming-diensten bieden veel bedrijven API’s aan om toegang te krijgen tot hun enorme verzameling data gerelateerd aan entertainment zoals films, muziek, boeken of trivia over beroemdheden.
- Zakelijk: Veel programma’s die dagelijks in het bedrijfsleven worden gebruikt werken met API’s. Dit zijn bijvoorbeeld applicaties voor klantenrelatiebeheer, projectbeheer en onkostenrapportage.
- Smart devices: Het Internet of Things (IoT) omvat alle ‘slimme apparaten’ waarmee we ons hebben omringen: Auto’s, huishoudelijk apparatuur, horloges, televisies, luidsprekers, zelfs gloeilampen. Al deze apparaten gebruiken API’s om te communiceren met servers over de hele wereld.
- Websites: API’s werken op de achtergrond van meeste websites, met name SaaS (Software as a Service) applicaties. Maar zelfs de meest basic websites gebruiken waarschijnlijk één of meer API’s om lokale diensten aan te kunnen leveren, reclame advertenties te weergeven of om de inhoud van een andere dienst op te halen.
API afhankelijkheid
Uit de opsomming hierboven van apparaten en toepassingen die gebruik maken van API’s, kunt u zien dat zelfs als u geen API publiceert voor anderen om gebruik van te maken, u waarschijnlijk elke dag met API’s te maken heeft. Een problemen met zulke API’s kan u persoonlijk of uw bedrijf direct beinvloeden. Neem bijvoorbeeld het voorbeeld van de API voor het winkelwagentje zoals eerder beschreven. Als u een online retail bedrijf heeft en uw gebruikers geen artikelen meer aan hun winkelwagen kunnen toevoegen, kunt u niks verkopen. Als u zich bewust bent van de API’s die van cruciaal zijn voor uw bedrijf, is dat uw eerste verdedigingslinie voor het behoud van de productiviteit en de bescherming van uw bedrijf.
Veel dingen kunnen fout gaan met een API, zoals connectiviteitsproblemen, hardwareproblemen, het falen van ondersteunende systemen of codewijzigingen op de client of de server. API’s werken meestal op de achtergrond en zorgen voor functionaliteit en functies die niet direct zichtbaar zijn in de gebruikersinterface. Problemen met de API komen mogelijk pas duidelijk naar voren in een transactie. In plaats van te wachten tot problemen met een API uw klanten, productiviteit of inkomsten beïnvloedt, kunt u uw belangrijkste API’s actief controleren.
Welke API’s moet ik controleren?
U moet elke API die cruciaal is voor uw bedrijf in de gaten houden.
API’s die u publiceert: Als u een API aanbiedt, is het uw verantwoordelijkheid om ervoor te zorgen dat uw API’s naar behoren werken en uw gebruikers (mens of machine) altijd toegang hebben.
API’s die essentieel zijn voor uw website of service: Als uw website afhankelijk is van een API van een externe partij om correct te werken, moet u de API direct controleren. Stel dat uw website een API van een externe partij gebruikt voor de authenticatie van uw gebruikers en er is een probleem, dan wilt u dat meteen weten. Het direct monitoren van de API kan leiden tot een snellere oplossing van het probleem.
API’s die cruciaal zijn voor uw bedrijf: Als uw bedrijf toepassingen gebruikt die afhankelijk zijn van API’s, en een storing van API’s kan de productiviteit van uw bedrijf mogelijk tot stilstand brengen, moet u deze monitoren. Stel dat uw Supply Chain Management (SCM) systeem bijvoorbeeld afhankelijk is van een API voor het verwerken van inventarisgegevens en dat dat systeem problemen krijgt. In dat geval kunt u snel het inzicht verliezen in uw Supply Chain Management systeem resulterend in slechte bedrijfsbeslissingen.
Wat kan API-monitoring mij vertellen?
U kunt veel halen uit API-monitoring. Een API controleregel vertelt u namelijk of:
- de API beschikbaar is
- de resultaten van de API accuraat zijn
- De prestaties van de API op niveau zijn
Door uw API’s te monitoren, komt u sneller achter problemen (van uw gebruikers), kunt u teamleden sneller op de hoogte brengen van errors en heeft u de beschikking over de rapporten en tools om snel achter de hoofdoorzaak van het probleem te komen.
Beschikbaarheid
Effectieve monitoring begint altijd met uptime. Zorg ervoor dat u uw API-eindpunten beschikbaar houdt. Met behulp van een eenvoudige webservice controleregel, stuurt u een verzoek naar de API. U kunt uw eigen header schrijven en authenticatie gebruiken. Uptrends stuurt het verzoek vanuit één van de 220+ controlestations naar keuze. U kunt waarschuwingen genereren over responscodes, inhoudscontroles, responsgrootte en reactietijden. De webservice controleregel (webservice HTTP/HTTPS type) controleert één keer per minuut om downtime vast te leggen en uw Service Level Agreements (SLA) te volgen.
API functies
Wanneer u zich wilt verdiepen in uw monitoring – zoals wij verwachten – heeft u een tool nodig die interactie kan hebben met uw API, precies zoals een gebruiker dat zou doen. Uptrends Multi-step API Monitoring is die tool. De tool werkt alsof het een gebruiker is door
- Behandelen van redirects
- Gebruik van cliëntcertificaten
- Authenticatie
- Hergebruik van gegevens over meerdere API calls
- Genereren van variabele waardes wanneer nodig
- Uitloggen
Uptrends’ step editor stelt u in staat om uw transacties in logische stappen op te splitsen.
- Defineer uw verzoek
- Defineer uw methode: GET, POST, PUT, PATCH en DELETE
- Het toevoegen van response header koppelingen
- Instellen van authenticatie: basic, NTLM (Windows), en digest
- Instellen van client- of aangepaste certficaten
- Vooraf ingestelde variabelen. U kunt vooraf gedefinieerde variabelen gebruiken waar u ze nodig heeft in het verzoek of respons. U kunt automatische variabelen gebruiken om datum/tijdstempels te krijgen, GUID’s te genereren, willekeurige getallen.
- De respons beheren
- Met assertions kunt u de respons controleren op:
- Inhoud: response body als JSON, XML of tekst
- Statuscode
- Volledigheid
- Errors
- Duratie
- Grootte
- U kunt standaard vergelijkingsoperatoren gebruiken om de respons te controleren.
- Is equal to
- Is not equal to
- Is less than
- Is greater than
- Is less than or equal to
- Is greater than or equal to
- Does/doesn’t contain
- Is not empty
- Ignore
- Met assertions kunt u de respons controleren op:
API prestaties
Elke API call moet onmiddellijk zijn. Een trage reactie van een API kan hele applicaties in gevaar brengen. Met behulp van assertions kunt u uw API-eindpunten controleren op hun reactietijden. Bepaal het maximale aantal milliseconden dat een reactie mag duren en voeg een assertion toe aan de duratie van de reactie. Als uw API vertraagt, geeft Uptrends een waarschuwing. Je kunt prestatiegerelateerde problemen voor zijn voordat ze invloed hebben op de gebruikers van uw API.
Conclusie
- Uitgevers van API’s moeten hun API-eindpunten monitoren op beschikbaarheid, prestaties en functionaliteit.
- Als uw bedrijf afhankelijk is van een API van een externe partij, dient u op zijn minst de beschikbaarheid van die API’s in de gaten houden.
- Een API moet snel reageren om te voorkomen dat hele processen worden vertraagd.
- API-monitoring informeert u en uw team over problemen voordat ze uw gebruikers beïnvloeden.
- Logs en rapporten die door uw API-monitoring worden gegenereerd zijn cruciaal voor een snelle probleemoplossing.
- Multi-Step API-controleregels testen gehele API-transacties over meerdere API calls met data hergebruik.
- Webservice controleregels zijn ideaal voor het testen van eindpunten op beschikbaarheid.
- Multi-Step API Monitoring laat u numerieke API responses volgen met Vrije Kengetallen.
- De Vault van Uptrends slaat uw gevoelige certificaat- en authenticatiegegevens op.
Wilt u meer weten over API-monitoring? Plan een live demo in.