Kterou API gateway?
Vybírali jsme na projektu API gateway a pokud i někdo z vás bude stát před stejným úkolem, pak se mu níže uvedené informace a porovnání mohou hodit. Hledali jsme gateway primárně pro externí použití, tedy pro vystavení rozhraní třetím stránám, ale i jako rozhraní mezi našimi frontendy a backendy.
Do užšího výběru jsme zařadili dvě klasické API gateway a jednu aplikační (programovací) gateway:
Pozn. bohužel Medium podporuje tabulky velice omezeně, tak jsem byl nucen přehled vložit jako obrázky, bohužel bez aktivních odkazů.
Pro náš konkrétní projekt jsme se rozhodli vybrat Tyk API gateway z těchto důvodů:
- rádi bychom zůstali v open-source (free) variantě a ta nám v případě Tyku přijde “úplnější”, tj. k dipozici není jen samotná API gateway, ale i řada podpůrných nástrojů. Nicméně pokročilé funkce (např. vývojářský portál) jsou k dispozici až v placené verzi.
- z pohledu integrace je pro nás důležité napojení na IDM (Keycloak) přes OpenID a nejsme si jisti, jak moc to bude funkční v open-source verzi Konga (pozn. řada pluginů má free a enterprise verzi)
- GoLang je pro nás příjemnejší než Lua, navíc výběr jazyků pro psaní pluginů je celá řada
- Tyk je dle několika srovnání pomalejší než Kong, ale toto pro nás nebylo hlavní kritérium. Také možnosti škálování resp. jednoduchost vytvoření clusteru je u Konga lepší, ale pro nás opět není tak důležité.
- jasné a srozumitelné platební podmínky, naopak u Konga jsem to nebyl schopen vůbec zjistit
Proč jsme nevybrali jiná řešení?
- špatné zkušenosti z již existujících projektů
- obecně kvalita WSO2 produktů nám přijde velice slabá
- přímá alternativa k Spring Cloud Gateway
- porovnání se Spring Cloud Gateway již proběhlo na předchozím projektu, tedy v kategorii “aplikační gateway” již máme jasno a s úspěchem používáme
- čistý open-source, nicméně se slabou funkční výbavou a bez velkého (spíše upadajícího) rozvoje
Cílem bylo vybrat (aspoň v této fázi výběru) řešení umožňující on-premise nasazení, proto jsme vyřadili např.: