As daar een ding is wat ondernemings nie kan bekostig in die mededingende landskap van vandag nie, is dit die suboptimale stelselprestasie.
Nog erger is die geval dat een of meer substelsels misluk en dat die tegniese span nie daarvan bewus is nie. In kritieke bedrywe soos bankwese, aandeleverhandeling, ens., Kan stilstand elke minuut miljoene dollars (of meer) kos, terwyl daar in ander noodlottige terugslag van kliënte kan wees. Dit het amper tot 'n punt gekom dat 'n fout leer ken voordat u kliënt nie meer net slim is nie; dis verpligte.
0.1 API's, API's, oral
0.2 Wat is 'n API??
0.3 Die koste van API-stilstand
4 Amazon CloudWatch (vir AWS)
9 Nuwe relikwie
13 API wetenskap
API's, API's, oral
Dit is 'n wêreld wat deur API's oorheers word, en jy hoor en gebruik waarskynlik die term 'n paar keer per dag. As u 'n diensverskaffer is, het u API's waarop ander staatmaak, en daar is API's wat u gebruik om die besigheid aan die gang te hou (Google Maps API, betalings-API's, ens.). Maar dit is net die punt van die ysberg. Vir diegene in die rekenaarprogrammeringswêreld is 'n toepassingsprogrammeringsvlak (API) 'n breë term wat meer as net kaarte en aankope dek..
Sonder dat u dit besef, is alles in 'n sagtewarestelsel (ja, letterlik alles) 'n API of word dit 'n API blootgestel.
Voordat ons begin met die monitering van API's, neem ons 'n oomblik om te verstaan ​​wat 'n API is en watter omvang van ons sagtewarestelsel dit dek. Dit sal u help om keuses te verminder en beter te besluit watter API's u wil dek en dus watter instrumente beter sal wees vir u unieke gebruiksgeval.
Wat is 'n API??
Kom ons begin met die standaardhandboekdefinisie voordat ons dieper in die sakelys gebruik. As ons Wikipedia oor API's vra, het dit die volgende om te sê:
In rekenaarprogrammering is 'n toepassingsprogrammeer-koppelvlak (API) 'n stel subroutiene definisies, kommunikasieprotokolle en instrumente om sagteware te bou. Oor die algemeen is dit 'n stel duidelik gedefinieerde metodes van kommunikasie tussen verskillende komponente. 'N Goeie API maak dit makliker om 'n rekenaarprogram te ontwikkel deur al die boustene te voorsien wat dan deur die programmeerder saamgestel word.
'N API kan wees vir 'n webgebaseerde stelsel, bedryfstelsel, databasisstelsel, rekenaarhardeware of sagtewarebiblioteek.
Die tweede reël is noodsaaklik (die klem val op my). Dit is nie net webdienste wat as API's tel nie. Bedryfstelsel-oproepe, interaksies van databasisstelsels, hardeware-seine, sagtewarebiblioteke (kode wat ander kodes kan hergebruik), val onder die toepassingsgebied van 'n API, aangesien hulle almal 'n goed gedefinieerde, goed verstaanbare koppelvlak en stel protokolle bied..
Op enige gegewe dag kan enige van hierdie API's ophou werk. Miskien het die hardeskyf die perk van inset- / afvoerbewerkings per sekonde bereik, of die SSL-sertifikaat het verval, of is daar 'n onopgemerkte fout in die nuutste weergawe van die kode wat gebruik word – al hierdie situasies waarborg voortdurende monitering en onmiddellike optrede wanneer (verkieslik voor) die probleem kom voor.
Op gepaste wyse sal hierdie artikel instrumente voorstel wat u toepassing op alle gebiede kan monitor, en nie net die uitruil van data tussen twee stelsels nie.
Die koste van API-stilstand
Dit is moeilik om te bepaal hoeveel stilstand seer is, maar Gartner het 'n studie in 2014, wat die getal vasgemaak het op $ 300,000 per uur. Dit is natuurlik 'n beskeie gemiddelde. Oorweeg die besigheidsverlies wat veroorsaak word deur 'n uur stilstand gedurende, byvoorbeeld, Black Friday-afslagseisoen. Kyk na meer gruwelsverhale oor hoe wanfunksionerende / nie-funksionerende API's sake- of werknemersgees doodgemaak het hier en hier.
Alhoewel die sakekant van API-stilstand nie te onderskat kan word nie, is daar ook 'n verborge verlies wat op die lange duur selfs groter kan wees – span moreel. Ontwikkelaars hou van outomatisering en betroubaarheid in stelsels (eintlik doen ons almal dit; stel jou voor dat jou e-posbediener verskeie kere per dag daal!), En die stilstand breek hul kode en frustreer hulle. As dit voortduur, sal die probleme binnekort 'n invloed hê op ander sakefunksies (verkope en bemarking), wat moeg sal word om gedurig gesig voor die klant te verloor.
Ek het gesien dat twee besighede 'n byna dood sterf weens swak interne moniteringstelsels, en ek het nie die hart om dit weer te sien nie. ��
Nou kan stilstand nie uitgeskakel word nie; in die regte wêreld kan enigiets te eniger tyd verkeerd loop. Maar deur toepaslike moniteringstelsels in plek te hê, kan ons die foute leer ken soos dit gebeur, soms selfs voordat die klant dit doen!
Met dit in gedagte, kom ons kyk na die beste API-moniteringsinstrumente in die mark.
'N Volledige oplossing vir alle soorte API-monitering (onthou u die breë definisie van 'n API van vroeër?), Uptrends bied monitering vir webwerwe, API's, bedieners en meer. Dit bied 'n gelukkige klantebasis van 25,000, met name soos Vimeo, Microsoft, Volkswagen, Vimeo, en meer, onder sy kliënte..
Een unieke kenmerk van Uptrends is blaaier-gebaseerde toetsing. Die diens bevat verskillende blaaiers om u program / webwerf te laat loop en bied 'n gedetailleerde statistiek oor hoe dit presteer.
Maar reaksietye en statistieke is slegs die helfte van die verhaal. Opwaartse tendense gee u ook 'n gedetailleerde, batebewuste prestasieverslag, sodat u presies weet wat die knelpunt veroorsaak. As daar 'n fout is, neem die diens 'n kiekie en stuur dit na u, sodat u kan sien hoe dit aan die ander kant van die vergelyking voel. ��
Al met al is Uptrends 'n betroubare en aangename diens wat deur baie groot name vertrou word.
Met die Dotcom-Monitor-platform kan u 'n multitaakmonitortoestel opstel met behulp van 'n HTTP / S-taak. Daarmee kan u OAuth 2.0-gebaseerde web API's monitor vir beskikbaarheid, werkverrigting en behoorlike antwoorde. Deur een of meer versoeke aan die einde van die kliënt te repliseer en 'n SOAP-webdiens te monitor, bevestig Dotcom-Monitor-agente dat data behoorlik uitgeruil kan word tussen die API en 'n webtoepassing.
As 'n agent 'n fout opspoor, word dit teen die filter van die toestel nagegaan. As die fout nie uitgefiltreer is nie, skiet die toestel 'n waarskuwing. U kan verskeie waarskuwingsgroepe opstel en aangepaste waarskuwingskedules en eskalasie-opsies opstel. Verslae is beskikbaar in CSV-, PDF- en TXT-formate. Dit toon veelvuldige en bruikbare statistieke, soos reaksietye, stilstand en gemiddelde prestasie volgens ligging.
Dotcom-Monitor prysbeplanings begin by $ 1,99 per maand en bied webdiensmonitering met ondersteuning vir HTTP / S, Web API SOAP / REST, SSL-sertifiseringstjek, reaksie-validering, onmiddellike waarskuwings en 30 moniteringsplekke, onder andere funksies.
Ek hou baie van hoe Checkly moeitevolle opstelling en gebruiksgemak kombineer met kragtige instrumente om u tjeks aan te pas. In plaas van 'n eenvoudige ping, gebruik dit volwaardige instelbare HTTP-tjeks om API's te monitor. Dit bevat ook opstel- / uitskot-skrifte, wat baie handig is as u byvoorbeeld versoeke wil onderteken of toetsdata wil skoonmaak..
Nog 'n ding wat uitstaan, is die kragtige REST API waarmee u kontrole kan orkestreer en outomatiseer, byvoorbeeld met Terraform. Dit stel gebruikers ook in staat om fynkorrelige waarskuwings op te stel in kombinasie met Opsgenie, Pagerduty of Slack. Alles-in-alles is 'n wonderlike oplossing wat ek vir die moderne DevOps-spanne interessant vind.
Pryse begin vanaf $ 7 per maand en bevat 'n 1-minuut-tjekinterval en liggings vir die datacenters.
Amazon CloudWatch (vir AWS)
As u infrastruktuur vir AWS het, kan CloudWatch nie genoeg aanbeveel word nie. Behalwe toepassingsmonitering, het CloudWatch ook infrastruktuurmonitering, wat u DevOps-span snags kan laat slaap.
Volgens die amptelike beskrywing, bied CloudWatch:
Verenigde operasionele gesondheid
Dus, solank u slegs 'n AWS-implementering het, sal CloudWatch u toepassingsduur, werkverrigting, hulpbronverbruik, netwerkbandwydte, skyf- / CPU-gebruik, ensovoorts kan monitor, en 'n robuuste oplossing bied vir allerlei monitering.
Die belangrikste voordeel met CloudWatch is miskien dat u feitlik niks hoef op te stel nie. Die AWS-dienste genereer relevante logs en deel dit direk met CloudWatch, wat op 'n netjiese en eenvoudig verstaanbare dashboard beland..
Vanaf die dashboard kan u nie net statistieke lees nie (terwyl die gratis planne tot een minuut akkuraatheid bied, kan betaalde planne u so na aan 'n sekonde van akkuraatheid kry, wat u effektief toelaat om monitering in real-time), maar ook 'n pasmaak skep reëls, stel alarms op en wanneer dit moet verdwyn, skandeer die stelsel logs in soveel besonderhede as wat u wil, en meer.
Natuurlik, nie almal is op AWS nie, maar die mees kritieke en beroemde digitale ondernemings is, en daarom het ek gedink dat CloudWatch in hierdie lys bekendgestel moet word. Ek kan op hierdie punt soos 'n gebreekte horing klink, maar as jy op AWS is, is daar eenvoudig geen maklike manier om monitering in te stel as CloudWatch nie.
Wil u leer oor AWS CloudWatch, leer uit die kenner hier.
Wat pryse betref, het Amazon dit ook daar eenvoudig gehou. Daar is geen per maand of jaarlikse toesluit nie. U besluit hoeveel u behoefte is, en u betaal slegs volgens u gebruik.
Maar kyk bowenal na die vrye-aanbod en sê vir my dat dit nie moontlik is om hierdie diens te gebruik nie. ��
As u volgens prestasiemaatstawwe leef en die klante-ervaring bo alles stel, strengheid is die moeite werd om te kyk. Die naam is goed gekies, want u kan net so streng wees met die werktuig as wat u wil. ��
Een van die nuttigste kenmerke van Rigor is funksionele toetsing. Moenie bekommerd wees as u nie lingo toets nie, funksionele toetsing verwys na die toetsing van die hele vloei van 'n transaksie, en nie net op 'n enkele eindpunt nie.
Op sommige maniere is funksionele toetsing belangriker as eenheidstoetsing, omdat dit implisiet die eenheidstoetsing dek en direk voorspelling van klante-ervaring bied.
Soos u op die foto hierbo kan sien, bevat hierdie funksionele toets 'n reeks van sewe reëls wat 'n transaksie uitmaak.
Reël 1 is 'n versoek om na 'n spesifieke kunstenaar in die API te soek; dan is reël 2 'n bewering, wat beteken dat ons wil afdwing dat die kunstenaar waarna ons gesoek het, beskikbaar is; As hierdie twee toetse geslaag word, gaan die stelsel oor na reël 3, ensovoorts.
In die voorbeeld hierbo, breek die funksionele toets by reël 7 en word belanghebbendes onmiddellik in kennis gestel dat daar nie genoeg kopieë van die album "Funky Kingston" is nie. Praat daaroor om op besigheid te fokus as om bekommerd te wees oor tegnologiestukke!
Rigor is 'n ernstige diens vir ernstige sakeondernemings wat nie omgee om 'n premie te betaal vir iets ongeloofliks nie, so as jy een is, gaan dit gerus na.
Assertible handelsmerke self as die maklikste API-moniteringsinstrument, en is hoofsaaklik gerig op toets- en QA-spanne. As u dink dat u nie die tegniese bevoegdheid het om met JSON, XML en die skryfkode te worstel nie, is Assertible die moeite werd om te kyk.
Die USP van Assertible is innemend en eenvoudig: u QA- en toetsspanne kan toetse skep en dit verifieer / monitor met behulp van die Assertible-koppelvlak. Dit kan perfek met GitHub integreer, sodat u kennisbasis by u bly, behalwe om naatloos met Slack te werk.
Die volledige sirkel-integrasie- en hersieningsfunksionaliteit stel feitlik almal in u span (selfs projekbestuurders) in staat om toetse te skep en prestasiemetodes te hersien.
Goed, die situasie hierbo lyk miskien 'n bietjie onrealisties (probleemoplossing van een minuut), maar dit is moontlik wanneer terugvoer duidelik en onmiddellik is. Die nul afwesigheid van kodering wat benodig word, beteken dat toetse so vinnig as moontlik gemaak kan word as wat u QA-spanne kan tik, en sodra dit gedoen is, dit oor en oor toegepas kan word. Dit is in skrille kontras met die praktyk van 'handmatige toetsing' wat by die meeste ondernemings gevolg word, waar 'n enkele toetser 'n paar dae kan neem om die app te dek, en tog meer uitstekende besonderhede misloop bloot as gevolg van toesig of inspanning..
Vir so min as $ 100 per maand (wat die toppunt is plan, terloops), Met Assertible kan u soveel as 50 webdienste, 'n totaal van 50.000 toetse en 20 spanlede monitor. Oorweeg die koste om 'n QA voltyds te werk om toetse te skep en handmatig deur te voer, en dit is duidelik dat Assertible eksponensiële doeltreffendheid bied.
As dit kom by die eindtoetsing en monitering van toepassings, BlazeMeter is die gees wat al die middagete eet. Terselfdertyd is dit egter nie vir die flou van harte of diegene wat op soek is na 'n eenvoudige API-moniteringsoplossing wat nie veel vra nie.
BlazeMeter is iets waarmee jy trou, en dan betaal dit deur die leeftyd van die app.
Die grootste pluspunt van BlazeMeter is integrasie met Apache JMeter, waarskynlik die standaardprestasiemetinginstrument vir groot webtoepassings. Ja, met BlazeMeter staan ​​u vry om open source-toetsraamwerke te kies en dit maklik te ontleed via eenvoudige dashboards.
Die planne is duur, en as u aansoek tot 5 000 gelyktydige gebruikers kan sien, sal dit u 649 dollar per maand kos om BlazeMeter te gebruik. Planne met vaste koste is beskikbaar vir nog groter werklas, wat volgens die norm gegee word aan die soort kliënte wat BlazeMeter het: Pfizer, Adobe, GAP, NFL, Atlassian, om 'n paar te noem.
Dit is nie asof BlazeMeter op eenvoudiger maniere gebruik kan word nie. Soos die meeste ander API-moniteringsinstrumente, bied dit funksionele toetsing (dit noem hulle "scenario's"), wat gedoen kan word met behulp van 'n intuïtiewe GUI-front-end.
Dit gesê, BlazeMeter is gebou vir ontwikkelaars. Dit is 'n toegewyde toetsinstrument Bul, BlazeMeter ontbloot 'n DSL (domeinspesifieke taal) wat gebruik kan word om generiese toetse te skryf wat uitgevoer kan word teen JMeter, Selenium en ander gewilde open source-instrumente. En moenie dat die vermelding van 'n DSL jou bekommer nie; dit is niks meer as 'n verheerlikte YAML-lêer (.yml-uitbreiding) nie:
– gelyklopend: 100
hou vir 1m30s
Spandeer tyd met Taurus, en u ontwikkelaars sal dankbaar wees dat hulle ingewikkelde, herbruikbare toetse kan skryf!
Al met al is BlazeMeter 'n swaargewig vir die swaargewigte.
AppDynamics, wat nou deel is van Cisco, is al lank in die monitering-spel vir webtoepassings en is baie bekend. Op die oomblik is AppDynamics 'n reeks instrumente om 'n wye reeks prestasie- en moniteringsvereistes van 'n moderne SaaS-span op te los..
Wat suiwer API / mikrosdiens-monitering betref, bied die suite Microservice IQ. Met hierdie diens kan u 'n mikroservice-groepering van feitlik elke skaal monitor en ontleed, die geskiedenis bewaar en u laat korreleer met veranderinge in die cluster. Dit laat u in elk geval die impak van die byvoeging / verwydering van nodusse uit die groepering simuleer.
Dieselfde geld vir die monitering van intydse statistieke, wat op 'n groep- of knooppuntvlak gedoen kan word, wat u die geheelbeeld en die uiterste detail bied, soos nodig.
Soos u op die skermkiekie kan sien, is Docker-monitering ingebou, wat waardeer sal word deur spanne wat hul infrastruktuur op Docker laat loop (byna almal, dit is ��).
Daarbenewens is wolkmonitering en DevOps-monitering ook beskikbaar, wat oor 'n verskeidenheid IaaS-verskaffers werk, soos Amazon AWS, Azure, Pivotal, ens. Deurlopende terugvoer is beskikbaar oor u hele leweringspyplyn, wat vertroue en 'n stewige basis bied vir u DevOps span.
Die versiering op die koek is die integrasie van Machine Learning in die hart van die stelsel. Byvoorbeeld, jy weet soms nie die ideale basislyn vir jou program nie, maar aangesien die besigheid glad verloop, kan jy die huidige statistieke as 'n basislyn aanvaar.
Hoe kan u te werk gaan om die basislyn te bereken? Dit is moeilik as u elke uur duisende datapunte stroom, maar nie as daar 'n bekwame masjienleerstelsel is wat loop nie.
Hoe help dit besighede? Hier is 'n voorbeeld. As u weet dat u basis vir uptime 98,5% is en u tans op 98,6% presteer, kan u regtig gemoedsrus hê. Boonop spaar u toegang tot regte, harde basislyne van oor-ingenieurswese en duur migrasies wat sommige konsultante kan aanbeveel om "ses nege" aan te dring (99.9999% uptime).
Die ML-stelsel is ook intelligent genoeg om die enkele oorsaak van mislukking onder 'n groep mikroservices binne die kode (dit is die indrukwekkendste deel!) Uit te werk en aan te meld, sodat u spanne presies weet wat om reg te stel. Die onderstaande skermkiekie wys hoe die stelsel kan boor in 'n Java Spring-gebaseerde REST-diens en wys op die boontjie wat misluk het.
Dit is nie moontlik om al die kenmerke wat hier uit die kakebeen lê hier te dek nie, dus kyk gerus na die amptelike dokumente.
Volgens baie, Nuwe relikwie is die markleier op die gebied van moniteringstoerusting vir toepassingsprestasies, en om 'n goeie rede. Dit word deur groot sowel as klein ondernemings gebruik – van Fortune 500-luiperds tot klein, vlot beginners – en bied 'n uitstekende kombinasie van presisie en detail.
Die New Relic-span is trots op DevOps, en daarom is hierdie aanbieding gebou om 'n volledige, intydse oorsig van u infrastruktuur te bied..
Die grootste USP van New Relic is die intuïtiewe uitleg van die hele stelsel, waardeur u onmiddellik kan sien hoe alles vloei en presies waar die knelpunt, indien enige, is. Dit is moeilik om die UI in woorde te beskryf, so hier is 'n skermkiekie:
Soos u kan sien, is dit redelik maklik om visueel op te spoor hoe data van stelsel na stelsel vloei en die prestasiemetrikke wat daaruit voortspruit. Traagheid en stilstand veroorsaak onmiddellike waarskuwings, wat die probleme oplos voordat die onderneming ly.
Dit is nie net die DevOps-kant wat in New Relic behandel word nie. Dit is ook moontlik om doelwitte en reëls vir klante-ervaring op te stel en gedetailleerde verslae te kry om uit te vind waar meer werk nodig is. Soos enige digitale bemarker wat sy sout werd is, weet, is hierdie inligting van soliede goud.
Daar is geen einde aan die vernuftige instrumentpaneel by New Relic nie. Kyk byvoorbeeld na hierdie een, wat die hele toepassingsgroep volgens knope uitkart en lewendige terugvoering gee oor wat op elke node gebeur.
Dus, of u aansoek eenvoudig of kompleks is, New Relic kan baie interessante insigte bied.
Volgende in die ry is API-vesting, wat daarop gemik is om 'n Switserse weermagmes te wees van API-monitering vir verskillende spanne in 'n organisasie, en dit goed doen.
API Fortress, gemik op beide toetsers en ontwikkelaars, laat die skep van visuele, samewerkende toetse soos enige ander moderne API-moniteringsinstrument daar buite, en stap dan 'n bietjie meer afstand rakende gemak en funksies. Die twee waarvan ek die meeste hou, is Load Testing and Mocking.
Vir ontwikkelaars kan API Fortress 'n toetspakket skep vanuit 'n gegewe API-spesifikasie. Dus, as u Swagger, OpenAPI of RAML volg, is die helfte van die werk reeds gedoen. API Mocking laat u dev-spanne toe om die koppelvlak van die nuwe API as 'n bespotlike diens te definieer, waarop die QA-spanne onmiddellik die toetssuite kan begin bou. Nie meer vermoeiend nie, lank wag totdat die werklike API klaar is voordat die QA kan begin!
API Fortress werk ook met al die belangrikste CI / CD-stelsels, wat nog een pynpunt van integrasie verlig. Laastens is klipvaste vragtoetsing en monitering ook ingebou, wat API Fortress 'n volledige pakket maak vir ontwikkelings- en toetsspanne vir die vinnig toets en monitering van API's.
As monitering op die koppelvlakvlak nie vir u span doen nie, en u op soek is na 'n kragtige moniteringinstrument op die kode, is daar Traceview. Op die oomblik word alle belangrike programmeringstale en omgewings ondersteun: Java, Scala, Net, Node, PHP, Python, Ruby en Go.
Soos u in die onderstaande skermkiekies kan sien, is statistieke op komponentvlak en funksionele vlak beskikbaar, wat laserskerpe, onmiddellike insig bied in hoekom die toepassing optree soos dit is.
Hoe kan ek dit opstel? Dit kan nie eenvoudiger wees nie! Vir die meeste van die tale wat voorheen gelys is, het Traceview sagteware-agente wat eenvoudig by u projek ingegooi kan word sonder om iets te steur. Begin om binnekort intydse insigte te versamel. ��
RapidSpike is 'n skraal oplossing, met die fokus op die kernelemente van uptime en monitering, sonder veel van die ekstra klokkies en fluitjies wat sommige mense met die meeste API-moniteringsinstrumente meebring. Opsporing van vooraf-gedefinieerde paaie (gebruikersreise) word ondersteun, net soos met die API in verskeie stappe.
Dit alles is standaarde en pretty much wat u van enige moderne API-moniteringstelsel sou verwag, maar wat volgens my mening RapidSpike onderskei, is sy waarskuwingstelsels.
Daar is 'n ingeboude eskalasie in die stelsel, so as die eerste kontakvlak nie die 'krisis' oplos of reageer nie, eskaleer die kennisgewing deur die ketting. Ouch! �� Wel, miskien is dit beter dat ons nie 'n werklike baas nodig het om ons heeltyd op ons tone te hou nie.
met API wetenskap, moet u u API's met 'n API toets. Alhoewel dit wel soos 'n deftige manier klink om dieselfde te sê, kom API Science wel met 'n paar nuwe funksies wat waarskynlik vir baie mense sal aantrek. Die eerste een is 'n volledige stapelmonitering van u API-stapel, wat ook beteken dat u eksterne API's dek.
Dit gebeur baie keer dat u API's performant en reageer, maar dié waarop u besigheid afhanklik is, is laer. Daar is ook in sommige gevalle nie 'n objektiewe grond-bewering oor watter API op daardie stadium was nie, 'n stryd wat kan verander in 'n soort koue oorlog tussen twee API-verskaffers.
In sulke gevalle werk API Science as 'n onbetwisbare middelgrond wat die historiese beskikbaarheid van API's kan toon.
Daarmee is my voorste aanbevelings vir API-monitering tot 'n einde. Ek het my bes gedoen om API's nie te beperk tot die nou definisie waarmee hulle die meeste van die tyd gemerk word nie. Van besigheidseienaars tot ontwikkelaars, toetsers, QA en projekbestuurders, is daar instrumente in hierdie lys wat vir almal werk.