From services that no one wants to touch, applications that no one knows how to change (except that great engineer that always works 29 hour days) to services that all we know is that they work, we all have some (or all) of these applications on our application catalogue… by the way… do we have any application catalogue?
We know, application management can be a nightmare
How can we convert our valuable applications into products, without taking major risks?
This is the question
The straight answer is no! Sorry, we do not sell illusions! However, instead of a magical path, we do have a solution for most of these problems.
What if we start to look at our services as APIs, and try to be an API centred company?
API what?
I should have started here! Let’s have a look on what is an API. An API can be seen, in an easy way to explain it (sorry experts!), as a contract between a server and a requester. I can look at the contract and find out what I need to pass on to the requester, and I will know what is the output…. much like following a recipe book!
And how is that supposed to help me? Actually, that part by itself, doesn’t. It is part of the help, though. The key is to have a solution to help you manage all the APIs. That type of solution is called an API Management solution and that’s where Apigee X enters the scene.
API Management?
Another boss? No! You can see the API management as a food deliver. You just perform your request, and they deliver your order (most of the times …. just like an API). You don’t know where the restaurant is, if they cook all the meals they
sell, or if they just dispatch it from another restaurant, or if you need to knock on the door, or just open it . You just look at the menu and you order what you need. The Apigee, sorry, the food deliver, will get your
request.
Apigee works pretty much the same way, you just perform the requests and Apigee will get your answer.
Spot on! You want to expose your services, however, you don’t want to touch that old service!
The thing is, the service doesn’t have authentication! No problem! Just keep your service internal, and Apigee will handle the authentication and only pass on the valid requests to the legacy application. That way, no changes are needed at the great backend that no one wants to touch.
That sounds great!
But now, since the applications are being more used, how can I ensure they are not over loading?
Actually, Apigee X can also help you with that in two ways, proactive or passive.
In other words, another great benefit that you get by using an API Management tool, is that you are concentrating all of your traffic on a single place. Due to that, you can easily monitor all the requests performed to your application park, since all the traffic is routed on Apigee.
Just imagine that you work as a security guard on a security checkpoint.
You can see all the people passing by your gate and you can collect metrics related to that. And just like a security guard on a security gate with cars and car spaces, you can define, on Apigee, that you only want to take, for example, 1000 requests per second.
That’s called quotas and you can easily map that on API level or even on a client level.
How can I start cleaning my environment and organizing better my system?
Well, one of the greatest advantages of having your services oriented as APIs is that you have documentation about it (at least, most of the times).
It is more or less standard, among the developers, to use Swagger or OpenAPI specs, however, it is unusual to have a single place where you can find all of that documentation.
Unfortunately, it is very common to find silos of Swaggers among Teams or Departments and that’s not very friendly to share with other colleagues or even partners. But not anymore. With Apigee X you can create multiple Developer Portals where you can hold all of your information exposed on Apigee.
You can set up a central portal, to hold all of your APIs, where all of your
developers can find all the information on how to use those APIs and you can, for example, create another one to share with your partner.
This is highly recommendable and we advise you to encourage this from the beginning.
To keep all the API contracts updated, you should have as much automation as you can to reduce the human interaction, just as we did!
You want to know more? Give us a shout!
Article by Diogo N. Teixeira (AppMod Specialist @ Ten Twenty One)
If you’re looking for a job, check our job opportunities here