I'm currently in the process of transforming a monolithic application to a microservices based architecture. The monolith is dependent on third party services (as in other departments) for its data. Most of these third party services are accessible via SOAP while some of them use REST.
Some of these third party services have terrible (even unusable IMO) APIs. It adds a lot of unneeded complexity and boilerplate to our aggregator service (which is a monolith atm). I'm in the process of mapping the domain of one of these third-party APIs to a usable domain in an ACL to be able to offer a decent API to our aggregator service.
However, it got me wondering. Is this even the correct way to go? It's a lot of work, should I just bite the bullet and use those terrible APIs? How do you handle terrible third-party APIs in a microservices architecture which make your service less maintainable?
Thanks in advance!