10 najboljših odprtokodnih vhodov API in orodij za upravljanje


Mikro storitve in API-ji (okrajšava od Application Programming Interfaces) so postali skorajda običajna stvar v sodobnem sodobnem razvoju aplikacij. API-ji poganjajo mikrostoritve (arhitekturno zasnovo, ki aplikacijo strukturira v majhne, samostojne in obvladljive storitve/koščke) in določajo, kako lahko potrošnik (API-ja) komunicira z osnovno storitvijo in jo uporablja.

Za podjetja in druge organizacije so API-ji postali jedro strategij digitalne preobrazbe. Rast uporabe API-jev je povečala uporabo rešitev za upravljanje API-jev s strani razvijalcev za objavo API-jev javnosti ali zunanjim razvijalcem, notranjim razvijalcem in drugim partnerjem.

Orodje za upravljanje API vam lahko pomaga:

  • Izpostavite mikro storitve kot upravljane API-je.
  • Združite več mikrostoritev, da bodo izpostavljene kot API-ji.
  • Uporabite varnost za notranje in zunanje mikro storitve.
  • Izpostavite starejše storitve kot sodobne API-je.
  • Pridobite poslovni vpogled v porabo mikro storitev in API-jev ter še veliko več.

Iščete odprtokodno rešitev za upravljanje API-jev za svoje podjetje? Potem je ta vodnik narejen samo za vas, nadaljujte z branjem.

Spodaj smo delili 10 najboljših odprtokodnih prehodov API in rešitev za upravljanje API-jev, ki jih lahko uporabite v svoji IT-infrastrukturi. Upoštevajte, da je naslednji seznam organiziran brez posebnega vrstnega reda.

1. Kong Gateway (OSS)

Programski jezik Lua podpira hibridno infrastrukturo in infrastrukturo več oblakov ter je optimiziran za mikro storitve in porazdeljene arhitekture.

V bistvu je Kong zasnovan za visoko zmogljivost, razširljivost in prenosljivost. Kong je tudi lahek, hiter in prilagodljiv. Podpira deklarativno konfiguracijo brez baze podatkov, ki uporablja samo pomnilnik v pomnilniku, in izvorne kubernativne CRD-je.

Kong vsebuje uravnoteženje obremenitve (z različnimi algoritmi), beleženje, overjanje (podpora za OAuth2.0), omejevanje hitrosti, transformacije, nadzor v živo, odkrivanje storitev, predpomnjenje, odkrivanje in obnavljanje napak, združevanje v skupine in še veliko več. Pomembno je, da Kong podpira združevanje vozlišč in brezstrežniških funkcij.

Podpira konfiguracijo strežnikov proxy za vaše storitve in jih streže prek SSL ali uporablja WebSockets. Lahko naloži uravnotežen promet prek kopij vaših storitev v zgornjem delu oskrbe, spremlja razpoložljivost vaših storitev in temu ustrezno prilagodi izravnavo obremenitve.

Poleg tega Kong dobiva vmesnik ukazne vrstice, ki vam omogoča upravljanje gruče Kong iz ukazne vrstice. Kong je tudi zelo razširljiv z uporabo vtičnikov in različnih vrst integracij. Za največjo prilagodljivost ga je mogoče upravljati s svojim RESTful API-jem.

2. Tyk

Pojdi na programski jezik. Je izviren iz oblaka, zelo zmogljiv z lahko razširljivo in vtičljivo arhitekturo, ki temelji na odprtih standardih.

Lahko deluje neodvisno in zahteva samo Redis kot shrambo podatkov. Uporabnikom omogoča varno objavo in upravljanje različnih storitev, vključno s starejšimi, REST in GraphQL (podpira GraphQL takoj).

Tyk je pečen s toliko funkcijami, ki vključujejo različne metode preverjanja pristnosti, kvote in omejevanje hitrosti, nadzor različic, obvestila in dogodke, spremljanje in analitiko. Podpira tudi odkrivanje storitev, neposredne preobrazbe in navidezne končne točke ter omogoča ustvarjanje lažnih API-jev pred izdajo.

Poleg zgoraj navedenega Tyk podpira dokumentacijo API in ponuja portal za razvijalce API, sistem, podoben sistemu CMS (Content Management System), kjer lahko objavite upravljane API-je in se tretji razvijalci prijavijo, včlanijo v vaše API-je in lahko upravljajo njihove lastni ključi.

Pomembno je, da obstaja samo ena različica prehoda Tyk API in je 100% odprtokodna. Ne glede na to, ali ste uporabnik izdaje skupnosti ali uporabnik podjetja, dobite isti API Gateway. Dobavlja se z vsemi možnimi deli, ki so potrebni za popolno uporabnost, brez funkcije zaklepanja in črne škatle. S Tykom natančno spoznate, kako se obdelujejo vaši podatki.

3. KrakenD

KrakenD, ki je prav tako napisan v Go in je zasnovan z mislijo na zmogljivost, je visoko zmogljiv odprtokodni, preprost in vtični prehod API, zasnovan z arhitekturo brez državljanstva. Lahko deluje povsod in ne zahteva nobene baze podatkov. Ima preprosto konfiguracijo in podpira neomejene končne točke in zaledne datoteke.

KrakenD vključuje spremljanje, predpomnjenje, uporabniško kvoto, omejevanje hitrosti, kakovost storitve (sočasni klici, odklopnik in časovno omejitev), pretvorbo, združevanje (združevanje virov), filtriranje (seznam dovoljenih in črnih seznamov) in dekodiranje. Ponuja funkcije proxy, kot so uravnoteženje obremenitve, prevajanje protokola in Oauth; in varnostne funkcije, kot so SSL in varnostne politike.

Vedenje prehoda API lahko konfigurirate ročno ali s pomočjo grafičnega uporabniškega vmesnika KrakenDesigner, ki vam omogoča vizualno oblikovanje API-ja od začetka ali nadaljevanje obstoječega. Poleg tega razširljiva arhitektura KrakenD omogoča dodajanje dodatnih funkcionalnosti, vtičnikov, vdelanih skriptov in vmesnih programov brez spreminjanja izvorne kode.

4. Platforma API Gravitee.io

Gravitee.io je odprtokodna, na Java zasnovana in enostavna platforma za upravljanje API-jev, ki organizacijam pomaga zaščititi, objaviti, analizirati in dokumentirati svoje API-je. Na voljo je s tremi glavnimi moduli, ki so:

  • Upravljanje API-jev (APIM): odprtokodna, preprosta, a zmogljiva, prilagodljiva, lahka in izjemno hitra rešitev za upravljanje API-jev (APIM), zasnovana tako, da daje vaši organizaciji popoln nadzor nad tem, kdo, kdaj in kako dostopa do vaših API-jev.
  • Upravljanje dostopa (AM): prilagodljiva, lahka, vsestranska in enostavna odprtokodna rešitev za upravljanje identitete in dostopa. Temelji na protokolih OAuth2/OpenID Connect in deluje kot posrednik ponudnika identitete. Ponuja centralizirano storitev overjanja in avtorizacije za zaščito vaših aplikacij in vaših API-jev.
  • Alert Engine (AE): modul, ki uporabnikom omogoča konfiguriranje opozoril in prejemanje obvestil za enostavno in učinkovito spremljanje njihove platforme API. Podpira večkanalna obvestila, zaznavanje sumljivih vedenj in še več.

Poleg tega je Gravitee.io dobavljen z Cockpitom, orodjem, ki vam pomaga pri oblikovanju vaših API-jev in jih objavlja v vseh vaših okoljih s popolno podporo večnajemniških storitev. Omogoča vam, da svojo postavitev Gravitee.io prilagodite sami s platforme. In graviteeio-cli, preprosto orodje ukazne vrstice, ki se uporablja za upravljanje ekosistema Gravitee.io.

5. Gloo Edge

Gloo Edge, ki je tudi odprtokoden in temelji na Go, je funkcijski krmilnik krmiljenja vhodov Kubernetes (zgrajen na vrhu posrednika Envoy) in naslednja generacija vhodnega API-ja v oblaku, ki podpira starejše aplikacije, mikro storitve in strežnike . In integrira se z vašim okoljem, kar vam omogoča, da izberete svoja najljubša orodja za razporejanje, vztrajnost in varnost.

Ponuja zmogljivo usmerjanje na funkcionalni ravni (ki omogoča integracijo starejših aplikacij, mikro storitev in brez strežnikov) in je zasnovano za podporo hibridnim aplikacijam, zgrajenim z uporabo različnih vrst tehnologij, arhitektur in protokolov, ki se izvajajo v različnih oblakih.

Gloo Edge podpira funkcije prehoda API, kot so omejevanje hitrosti, prekinitev vezja, ponovni poskusi, predpomnjenje, zunanja overitev in avtorizacija. Podpira tudi preoblikovanje, integracijo storitvenih mrež, popolno avtomatizirano odkrivanje in varnost.

Gloo Edge uporablja vrhunske odprtokodne projekte, kot so GraphQL, gRPC, OpenTracing, NATS in drugi, za zagotavljanje visokokakovostnih funkcij. Poleg tega podpira integracijo odprtokodnih projektov, ki se lahko pojavijo v prihodnosti.

6. Prehod API-ja Goku

Goku API Gateway je odprtokodni prehod za mikro storitve z oblačno arhitekturo, zgrajeno z Go. Deluje kot API prehod za arhitekturo mikro storitev; kot platforma za enotno preverjanje pristnosti, nadzor pretoka, varnostno zaščito; kot notranja platforma za razvoj OPEN API; in kot enotna platforma za neodvisne API-je.

Odlikuje ga visokozmogljivo posredovanje HTTP in dinamično usmerjanje, orkestracija storitev, upravljanje več najemnin, nadzor dostopa prek API-ja in še več. Podpira uvajanje grozdov in dinamično registracijo storitve, uravnoteženje obremenitve v ozadju, preverjanje stanja API-ja, funkcionalnost odklopa in ponovne povezave API-ja, vročo posodabljanje (nenehno posodablja konfiguracije brez vozlišč za ponovni zagon).

Goku ima tudi vgrajeno nadzorno ploščo za lažjo konfiguracijo, zmogljiv vtični sistem za razširitev njegove funkcionalnosti in CLI za zagon\zaustavitev\ponovno nalaganje Gokuja skozi ukazno vrstico.

7. WSO2 API Microgateway

WSO2 API Microgateway je odprtokodni oblak, osredotočen na razvijalce in decentraliziran prehod API za mikro storitve. Zgrajena večinoma z uporabo Jave, poenostavlja postopek ustvarjanja, uvajanja in zaščite API-jev znotraj porazdeljenih arhitektur mikro storitev.

WSO2 API Microgateway je lahek vsebnik brez državljanstva z malo odtisa pomnilnika, ki podpira sestavljanje več mikro storitev prek enega samega API-ja in podpira tudi odkrivanje izvajalnih storitev. Omogoča pretvorbo starih formatov API (zahtev in odgovorov) v sodobne, da jih izpostavi sodobnim potrošniškim aplikacijam.

Ker WSO2 API Microgateway uporablja specifikacijo OpenAPI (OAS), to razvijalcem omogoča, da sodelujejo pri ustvarjanju API-jev in jih nato neodvisno preizkusijo. Poleg tega je zelo razširljiv, saj lahko deluje ločeno, brez odvisnosti od drugih komponent.

Odlikuje ga omejevanje hitrosti, odkrivanje storitev, preoblikovanje zahtev in odzivov, uravnoteženje obremenitve, preusmeritev in prekinitev vezij, med drugim tudi brezhibna integracija Dockerja in Kubernetesa. Omogoča preverjanje pristnosti in avtorizacijo na podlagi OAuth2.0, ključev API, Basic Auth in vzajemnih TLS.

8. Fusio

Fusio je odprtokodna rešitev za upravljanje API-jev, ki temelji na PHP in se uporablja za izdelavo in upravljanje API-jev REST. Je platforma za upravljanje API-ja v smislu, da vam omogoča razvijanje končnih točk API-jev, ki lahko zahtevajo in preoblikujejo podatke iz baze podatkov. Ponuja vsa potrebna orodja za hitro izdelavo API-ja iz različnih podatkovnih virov, temveč tudi za ustvarjanje popolnoma prilagojenih odzivov.

Uporablja se za izpostavitev poslovne funkcionalnosti, mikro storitev, aplikacij Javascript in mobilnih aplikacij, ki ponujajo funkcije, kot so omejevanje hitrosti, avtorizacija, podpora RPC, preverjanje veljavnosti, analitika in upravljanje uporabnikov.

Fusio podpira tudi generiranje OpenAPI, generiranje SDK in prihaja z naročninsko plastjo, ki vam pomaga zgraditi pub/sub za vaš API, in preprost plačilni sistem za zaračunavanje določenih poti.

Fusio vsebuje odjemalca ukazne vrstice, ki vam omogoča neposredno interakcijo z API-jem in razmestitev določenih konfiguracijskih datotek YAML. Fusio-CLI se samodejno vključi v vsako namestitev Fusio, lahko pa tudi samostojno zaženete odjemalca CLI. Obstaja še nekaj drugih orodij v ekosistemu Fusio.

9. Apiman

Apiman je odprtokodno orodje za upravljanje API-jev, ki temelji na Javi in ima bogato zasnovo in konfiguracijsko plast API z izjemno hitrim izvajanjem. Gre za samostojni sistem, ki ga je mogoče zagnati kot ločen sistem ali vgraditi v obstoječe okvire in platforme.

Njegove ključne značilnosti so prilagodljivost in upravljanje izvajalnega okolja za API-je, ki temelji na politiki, bogata plast upravljanja in popolnoma asinhrono. Podpira dušenje in kvote, centralizirano varnost ter obračunavanje in meritve ter številne druge funkcije.

10. API dežnik

API Umbrella je odprtokodna rešitev za upravljanje API-jev, zgrajena večinoma z uporabo Rubyja. To je proxy, ki stoji pred vašimi API-ji in vam omogoča, da ustvarite eno, javno vstopno točko za vse vaše API-je in mikro storitve, ne glede na to, kje se nahajajo. Ponuja funkcije, kot so ključi API, omejevanje hitrosti, analitika in predpomnjenje.

Podpira večnamensko ponudbo in ima skrbnika za upravljanje vseh vidikov API Umbrella, kot so konfiguracija usmerjanja API-jev, upravljanje uporabnikov, analitika ogledov in še več. Pod API Umbrella je vsa skrbniška funkcija na voljo tudi prek API-ja REST.

Za zdaj je to! V tem članku smo pregledali 10 odprtokodnih prehodov za API in rešitve za upravljanje, ki jih lahko uporabljate na strežniku Linux v svoji infrastrukturi. Vas prosimo, da nas obvestite o drugih rešitvah, na katere ste naleteli, vendar smo jih v tem članku pogrešali.