APIs Deployment/Continuous Integration and Delivery RESTful Testing Web Servers and MicroFWs (Flask/Tornado/Nginx/...)See in schedule
This presentation shows how we can use documentation-driven development to minimise the risk of API integration failures. APIs are the gateways that connect our web applications to the world. Microservices rely on them to work together, and frontend applications use them to connect to our backend. Despite their importance, API integration failures are a daily occurrence. There’re many reasons for this, but a common factor is the lack of API documentation, or the use of bad API documentation.
Often, API documentation comes in unstructured formats or in JSON examples, instead of standard formats such as OpenAPI or Schema Definition Language. When we don’t use standards to document our APIs, we give up the whole ecosystem of frameworks and tools built around those standards. Such tools and frameworks are designed to make our lives easier when managing the lifecycle of our APIs.
In documentation-driven development, we write the API specification first, and then we implement the API server and the client against the specification. I’ll show how we can use mock servers to test the client while the backend is being developed, and tools like Dredd and schemathesis to validate the backend implementation. I’ll show how we can use these tools in a CI server to validate our code before it’s released. This approach doesn’t eliminate completely the risk of API integration failures, but it helps to minimise it.
Type: Talk (30 mins); Python level: Intermediate; Domain level: Intermediate
Jose Haro Peralta is a full-stack software consultant based in London. He specialises in Python and DevOps. He has worked in different industries, including IoT, financial services, and retail, helping clients architect and build microservices platforms, deliver successful API integrations, and write clean and maintainable Python code. He's currently authoring Developing Microservice APIs with Python (Manning, http://mng.bz/nz48), and creating tools that make it easier to build APIs at https://microapis.io.