One of the biggest risks during the development of any project is the dependencies with third parties and with services not controlled by ourselves.
- What happens if my Cognitive Services in Azure is having problems?
- What if my own Single Sign On authentication service is rejecting incoming connections?
- A part of my team has developed a microservice for trend analysis in Time Series, will I always have this service available?
- We have exceeded the limit of requests that had been contracted with SkyScanner, shouldn’t my product be able to work with an additional provider or be automatically put in maintenance mode?
In order to achieve an agile and productive development, it is not possible to implement all the required functionalities within the team. Many times we will have to delegate certain developments and works to other entities or even different teams within our own company.
We should prevent that a malfunction of a certain piece in the puzzle, which we do not control directly, affects the overall performance of the product.
If the management of external agents within a software project is not done in a correct and controlled way, as the product advances in maturity, we will have in our hands an unstable product that at the minimum can collapse.
About this series
Nouss Intelligence wanted to develop a series of articles, with practical application, related to the development of products that require the integration and use of third party services.
During the time we are just studying this problem, we will learn the following concepts:
- Understand the need for the use of integration patterns and error tolerance
- The Retry Pattern
Part 1 – Introduction
Part 2 – Retry Pattern
Part 3 – C# Retry Pattern
Related issues: Polly
During the course of this series we will use the Polly library that comes with many of the patterns explained here already implemented. More information can be found at:
Polly project repo at GitHub
Polly Project site