3rd party providers integration
One of the problems we faced in this project was associated with the complexity of the cryptocurrency trading domain and integrations between various 3rd party providers.
We solved the integration problem by providing an anti-corruption layer over integration points. Thanks to the implementation of business logic according to Domain-Driven Design best practices we managed to build safe and extensible microservices that are easy to change.
Another challenge we faced was connected with the efficient setup of microservices. As we worked with the startup it was crucial that infrastructure costs do not exceed the estimated maintenance budget.
To resolve this issue we decided to combine as many SaaS providers and AWS pay-per-usage tools as possible. Our goal here was not to generate costs for the platform that’s getting traction. For instance, instead of hosting our own Jenkins master and slaves, we moved continuous integration to AWS Code Build, Code Pipeline, Code Deploy, and other similar tools which gave us tremendous cost savings.