Ravi is the product owner. He is managing a large application stack which is undergoing modernization.
He has got the target to create many APIs; he was wondering what all he needs to take care while creating his plan.
As product owners, we require to be mindful of these challenges and require to take care of, as a product?team, Let?us take care of all these situations.
All of us are dealing with API expansion whenever we consider a Web-based solution! And this trend will multiply as we are invariably on the internet accessing everything that is on the Net with apps and varied devices. How applications will seamlessly connect? How will all the applications talk to all third-party applications? Millions of APIs is the way forward!
Application development and API development are not the same! Though we might be assuming that the developer will only develop and will write code in both cases!
The software application will be used by the users, but the API will be used by the software!
The API has significantly made our existence easy, but has also brought in new dimensional challenges.
SOAP (simple object access protocol) has been revolutionizing the data sharing landscape since the 2000s. While SOAP did the job of data transfer across the internet, it was madly complex to develop and utilize for a protocol that commenced with the expression ‘simple’
REST was an indeed vital technology in the fast-paced internet era.
The major challenges we experience are:
- API descriptions are not up to the mark! In the absence of a legitimate explanation, it is impractical to consume the APIs. Cause a lot of confusion and waste of developer's productivity
- API testing is difficult. It takes a lot of permutations and sequences to validate the API. Proper Data, the Right Parameter, and the appropriate call sequence are some of the challenges in verifying the API. Endpoint consistency is one of the crucial aspects we would like to validate progressively.
- Outdated technology to modernization. Just a few years back, all the applications were in a single giant program flow. It has to be modernized to work with the latest trend internet. Monolithic to a microservice-based model. Pushing on-premise to the cloud. To do all these API is very helpful, but it will bring many additional refactoring challenges which we all need to plan for.
- API governance: All the APIs we are composing need to track, manage and verify how effectively we are consuming those APIs. Do we have any measurements and how well we can enhance the utilization? Organizations require to educate about the API usage policy and promote this practice. Come out of the old ways of designing systems and encourage more use of API.
- Manage through API gateways. Managing the API is another challenge. If we are not careful about spreading the API in the organization, it will get into unmanageable situations. Let us design an API gateway which will park between the application servers and the reverse proxies that produce adapted functionality dealing with several key elements that influence the API lifecycle
- API versioning: as the software upgrades and modifies the version, we also require to upgrade all the APIs we have created. The API will malfunction if they are not harmonized accordingly. The routine test, announcing the API change information, and taking action to address the change is the way forward.
- Security and vulnerability: All the security and vulnerability validation must take place through for all the APIs. It is routine investigation and surveillance to ensure all APIs are robust and there are no security loopholes.
- Performance testing. The API’s response time needs to be monitored regularly. Based on data and usage, performance may weaken. Regular monitoring with load testing and live monitoring is the key to uncovering and enhancing?the?latency.
- Automating the testing: Creating a robust test strategy and catching the challenges early. Automated daily tests and generating a report are crucial. The regular test results review enables the team to know ahead of time about the turbulence.
Designing an API needs a lot of thorough planning, discussion, and thinking. If we deploy an appropriate amount of strategy to deploy and manage these APIs, it will establish the outstanding customer experience.
unlocking business agility, leading AI transformations
2 年Thank you Chandan for the handy insights!
Engineering Manager | Driving digital transformation | Gen AI | Azure | FullStack | CSM | Certified API Product Manager
2 年A mention to open api specification guideline can also be amended chandan more aligned to your 1 st point