1) Securing your back-end APIs - If you have a legacy back-end web service that has a basic authentication scheme, you can add some additional security by placing APIM in front, and requiring subscription keys. Leverage your existing firewall to ensure only your APIM instance can communicate with your back-end API, and you've basically added a layer of protection.
2) Lift and shift - there are always going to be clients that don't want to update their clients to use a newer API; in some cases you can make a newer API look like an older one by implementing some complex policies in APIM. You can also do the opposite, making older APIs look new, such as making an XML back-end accept both JSON and XML.
3) Centralizing your APIs - if you've acquired another company and want to make their API set look as if it's a part of the larger whole, APIM is an easy way to provide a consistent front-end interface for developers.
Denodo allows us to create and combine new views to create a virtual repository and APIs without a single line of code. It is excellent because it can present connectors with a view format for downstream consumers by flattening a JSON file. Reading or connecting to various sources and displaying a tabular view is an excellent feature. The product's technical data catalog is well-organized.
Lack of robustness is a bit of an issue. Several other providers offer more options and capabilities, but then, they are lacking in interface ease.
As with anything Azure, pricing is really hard to stay on top of. I always find that you really don’t know what you’re paying for until you get the bill. Having an excellent Azure Administrator can help resolve that.
Integrating with app services outside of Azure can be a challenge, or at least much more challenging than just using Azure App Services.
Caching - but I am sure it will be improved by now. There were times when we expected the cache to be refreshed but it was stale.
Schema generation of endpoints from API response was sometimes incomplete as not all API calls returned all the fields. Will be good to have an ability to load the schema itself (XSD/JSON/Soap XML etc).
Denodo exposed web services were in preliminary stage when we used; I'm sure it will be improved by now.
Export/Import deployment, while it was helpful, there were unexpected issues without any errors during deployment. Issues were only identified during testing. Some views were not created properly and did not work. If it was working in the environment from where it was exported from, it should work in the environment where it is imported.
Denodo is a tool to rapidly mash data sources together and create meaningful datasets. It does have its downfalls though. When you create larger, more complex datasets, you will most likely need to cache your datasets, regardless of how proper your joins are set up. Since DV takes data from multiple environments, you are taxing the corporate network, so you need to be conscious of how much data you are sending through the network and truly understand how and when to join datasets due to this.