What is Apigee and what are its top alternatives?
Top Alternatives to Apigee
- Mashery
Sign In and discover new APIs from our open data commons of RESTful APIs. Mashery's API management offerings include strategic consulting & developer support to help you build your business. ...
- Zuul
It is the front door for all requests from devices and websites to the backend of the Netflix streaming application. As an edge service application, It is built to enable dynamic routing, monitoring, resiliency, and security. Routing is an integral part of a microservice architecture. ...
- Kong
Kong is a scalable, open source API Layer (also known as an API Gateway, or API Middleware). Kong controls layer 4 and 7 traffic and is extended through Plugins, which provide extra functionality and services beyond the core platform. ...
- WSO2
It delivers the only complete open source middleware platform. With its revolutionary componentized design, it is also the only open source platform-as-a-service for private and public clouds available today. With it, seamless migration and integration between servers, private clouds, and public clouds is now a reality. ...
- Istio
Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc. ...
- Postman
It is the only complete API development environment, used by nearly five million developers and more than 100,000 companies worldwide. ...
- Insomnia REST Client
Insomnia is a powerful REST API Client with cookie management, environment variables, code generation, and authentication for Mac, Window, and Linux. ...
- RestSharp
It is probably the most popular HTTP client library for .NET. Featuring automatic serialization and deserialization, request and response type detection, variety of authentications and other useful features ...
Apigee alternatives & related posts
- Hard to use1
- Cheese-like1
related Mashery posts
Zuul
related Zuul posts
- Easy to maintain37
- Easy to install32
- Flexible25
- Great performance20
- Api blueprint5
- Custom Plugins4
- Kubernetes-native3
- Security2
- Agnostic2
- Has a good plugin infrastructure2
- Documentation is clear1
- Very customizable1
- Load balancing1
related Kong posts
We needed a lightweight and completely customizable #microservices #gateway to be able to generate #JWT and introspect #OAuth2 tokens as well. The #gateway was going to front all #APIs for our single page web app as well as externalized #APIs for our partners.
ContendersWe looked at Tyk Cloud and Kong. Kong's plugins are all Lua based and its core is NGINX and OpenResty. Although it's open source, it's not the greatest platform to be able to customize. On top of that enterprise features are paid and expensive. Tyk is Go and the nomenclature used within Tyk like "sessions" was bizarre, and again enterprise features were paid.
DecisionWe ultimately decided to roll our own using ExpressJS into Express Gateway because the use case for using ExpressJS as an #API #gateway was tried and true, in fact - all the enterprise features that the other two charge for #OAuth2 introspection etc were freely available within ExpressJS middleware.
OutcomeWe opened source Express Gateway with a core set of plugins and the community started writing their own and could quickly do so by rolling lots of ExpressJS middleware into Express Gateway
related WSO2 posts
Istio
- Zero code for logging and monitoring14
- Service Mesh9
- Great flexibility8
- Powerful authorization mechanisms5
- Ingress controller5
- Full Security4
- Easy integration with Kubernetes and Docker4
- Resiliency4
- Performance16
related Istio posts
At my company, we are trying to move away from a monolith into microservices led architecture. We are now stuck with a problem to establish a communication mechanism between microservices. Since, we are planning to use service meshes and something like Dapr/Istio, we are not sure on how to split services between the two. Service meshes offer Traffic Routing or Splitting whereas, Dapr can offer state management and service-service invocation. At the same time both of them provide mLTS, Metrics, Resiliency and tracing. How to choose who should offer what?
As for the new support of service mesh pattern by Kong, I wonder how does it compare to Istio?
- Easy to use489
- Great tool369
- Makes developing rest api's easy peasy276
- Easy setup, looks good156
- The best api workflow out there144
- History feature53
- It's the best53
- Adds real value to my workflow44
- Great interface that magically predicts your needs43
- The best in class app35
- Can save and share script12
- Fully featured without looking cluttered10
- Global/Environment Variables8
- Collections8
- Option to run scrips8
- Shareable Collections7
- Dead simple and useful. Excellent7
- Dark theme easy on the eyes7
- Great integration with newman6
- Awesome customer support6
- Simple5
- The test script is useful5
- Documentation5
- Saves responses4
- Easy as pie4
- Makes testing API's as easy as 1,2,34
- This has simplified my testing significantly4
- API-network3
- Mocking API calls with predefined response3
- I'd recommend it to everyone who works with apis3
- Runner2
- Easy to setup, test and provides test storage2
- Postman Runner CI Integration2
- Graph2
- Now supports GraphQL2
- Continuous integration using newman2
- Pre-request Script and Test attributes are invaluable2
- <a href="http://fixbit.com/">useful tool</a>1
- Stores credentials in HTTP10
- Bloated features and UI9
- Cumbersome to switch authentication tokens8
- Poor GraphQL support7
- Expensive5
- Can't prompt for per-request variables3
- Not free after 5 users3
- Import swagger1
- Support websocket1
- Import curl1
related Postman posts
We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. A public API is only as good as its #documentation. For the API reference doc we are using Postman.
Postman is an “API development environment”. You download the desktop app, and build API requests by URL and payload. Over time you can build up a set of requests and organize them into a “Postman Collection”. You can generalize a collection with “collection variables”. This allows you to parameterize things like username
, password
and workspace_name
so a user can fill their own values in before making an API call. This makes it possible to use Postman for one-off API tasks instead of writing code.
Then you can add Markdown content to the entire collection, a folder of related methods, and/or every API method to explain how the APIs work. You can publish a collection and easily share it with a URL.
This turns Postman from a personal #API utility to full-blown public interactive API documentation. The result is a great looking web page with all the API calls, docs and sample requests and responses in one place. Check out the results here.
Postman’s powers don’t end here. You can automate Postman with “test scripts” and have it periodically run a collection scripts as “monitors”. We now have #QA around all the APIs in public docs to make sure they are always correct
Along the way we tried other techniques for documenting APIs like ReadMe.io or Swagger UI. These required a lot of effort to customize.
Writing and maintaining a Postman collection takes some work, but the resulting documentation site, interactivity and API testing tools are well worth it.
Our whole Node.js backend stack consists of the following tools:
- Lerna as a tool for multi package and multi repository management
- npm as package manager
- NestJS as Node.js framework
- TypeScript as programming language
- ExpressJS as web server
- Swagger UI for visualizing and interacting with the API’s resources
- Postman as a tool for API development
- TypeORM as object relational mapping layer
- JSON Web Token for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
- Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
- A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
- Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
- Easy to work with16
- Great user interface11
- Works with GraphQL6
- Cross platform, available for Mac, Windows, and Linux3
- Opensource2
- Preserves request templates2
- Does not have history feature0
- Vim and Emacs key map0
- Do not have team sharing options4
- Do not store credentials in HTTP2
related Insomnia REST Client posts
We've tried a couple REST clients over the years, and Insomnia REST Client has won us over the most. Here's what we like about it compared to other contenders in this category:
- Uncluttered UI. Things are only in your face when you need them, and the app is visually organized in an intuitive manner.
- Native Mac app. We wanted the look and feel to be on par with other apps in our OS rather than a web app / Electron app (cough Postman).
- Easy team sync. Other apps have this too, but Insomnia's model best sets the "set and forget" mentality. Syncs are near instant and I'm always assured that I'm working on the latest version of API endpoints. Apps like Paw use a git-based approach to revision history, but I think this actually over-complicates the sync feature. For ensuring I'm always working on the latest version of something, I'd rather have the sync model be closer to Dropbox's than git's, and Insomnia is closer to Dropbox in that regard.
Some features like automatic public-facing documentation aren't supported, but we currently don't have any public APIs, so this didn't matter to us.