In this, the last of this little set of Blogs, we'll talk about API Gateways
We have talked about Citizen Developers and RMAD Tools. These processes, tools and people use API Gateways - but what services do these tools provide
this brings us almost immediately to a 'microservices conversation' so let's talk about that for a minute .
We've seen many large and unwieldy SOA projects which have large goals. Microservices approaches the same end goals as SOA , although from a different route. Wikipedia says it very well indeed
'The philosophy of the microservices architecture essentially equals to the Unix philosophy of "Do one thing and do it well"' ( e.g. tools like grep, sed, - and pipeline them together )
Some of the goals of Microservices
- The services are small - fine-grained to perform a single function.
- The organization culture should embrace automation of deployment and testing. This eases the burden on management and operations.
- The culture and design principles should embrace failure and faults, similar to anti-fragile systems.
- Each service is elastic, resilient, composable, minimal, and complete.
One class of tools that provides these services is known as an API Gateway
What kind of functionality does a typical API Gateway provide
There are two main types
- Functional enablement
- Non-functional enablement.
For Functional enablement, we are talking about assembling Microservices from other Microservices - so, for example, if we had to get a customer balance from one system(microservice), and a customer name and address from another (microsystem) , another Microsystem might be an aggregation of the two - this would be a functional difference that the Gateway might provide.
For Non-functional requirements can can provide services that the Microservice may not be set up or even designed to handle, yet are necessary.
For example :
- Throttling ( avoid too many requests to a microservice )
- Developer enablement/Customer enablement ( API Keys to provide security )
- Transport Level Security (TLS1.2 Endpoints )
- Load Balancing
- Billing (in a service economy, more and more APIs are being charged for )
API Gateways are an important field
What does the market look like
You have the traditional vendors like Oracle who have a strong offering, but in addition you have the main PAAS vendors - for example
Amazon API Gateway https://aws.amazon.com/api-gateway/
As more and more services are assembled from heterogenous cloud services these products will become super-critical in businesses' journey to the Cloud
Version1's experience is that these products will be critical and key.