APIGW is NOT the AWS service, but an industry standard technology for servicing resource access while providing facilities for oversight, governance, security, and operability considerations.
Some options:
- Apache APISIX
- Free, but you still pay for your own wrench time.
- Kong
- The GW is open source and free to use, but many features (such as OIDC) are paywalled.
- Kong is pretty much the defacto industry standard, and offers a fantastic product ecosystem.
- Tyk
- Paid
- KrakenD
- Many features are included in the open source product, but some plugins are paywalled.
- Gravitee
- Paid
Draw a diagram. Write the docs. Include traffic flows, methods, protocols, etc. If you can't do these things, how can you even start writing code? This exercise is useful as you not only get these assets early, but often identify issues before you've invested in a body of tech debt behind them.
to decouple and enable your api development without affecting existing users.
This greatly mitigates API complexity. Why bloat the body of the payload including action flags when the method is suffficient.
For inspiration, look to Mesosphere's Maraton API docs.
Collapse interactions into as few concise and meaningful endpoints as possible. For example, if you have an endpoint that handles a configuration, have one endpoint such as '/configuration', and have it handle all CRUD activities, instead of having multiple endpoints.
If something seems complicated or confusing, you're probably doing it wrong. Go for a coffee, then look at the defined service boundaries again.
Similar to magic numbers in code, it is undesirable to have mysterious or convoluted functions or workflows in one that aren't clearly defined in the other.