How to connect your application to the world (and avoid sleepless nights)
2023-04-19 , B07-B08

Let’s say you are the ruler of a remote island. For it to succeed and thrive you can’t expect it to be isolated from the world. You need to establish trade routes, offer your products to other islands, and import items from them. Doing this will certainly make your economy grow! We’re not going to talk about land masses or commerce, however, you should think of your application as an island that needs to connect to other applications to succeed. Unfortunately, the sea is treacherous and is not always very consistent, similar to the networks you use to connect your application to the world.

We will explore some techniques and libraries in the Python ecosystem used to make your life easier while dealing with external services. From asynchronicity, caching, testing, and building abstractions on top of the APIs you consume, you will definitely learn some strategies to build your connected application gracefully, and avoid those pesky 2 AM errors that keep you awake.


This talk will explore best practices for distributed programming in Python, and how to solve some of the more common issues when dealing with external systems. We will be exploring a few techniques that can help your system be reliable and available, even if your external services aren't.

Outline:

Agenda:
- Introduction - 2 min
- The problems around distributed computing - 3 min
- Caching - 5 min
- Asynchronous task queuing - 5 min
- Building API abstractions - 5 min
- Testing - 5 min
- Closing statements - 5 min


Expected audience expertise: Domain

Intermediate

Expected audience expertise: Python

Intermediate

Abstract as a tweet

Come and explore some of the common techniques to help you build reliable distributed systems in Python

Hi! I’m Luis Fernando Alvarez, Engineering Manager at Stack Builders. I’ve been working in the Software development industry for more than 15 years, both as a full-stack developer and tech lead in multiple projects, with a varied number of technologies and languages. I’m passionate about Software Development and helping younger engineers grow. I’m also a multi-instrumentalist musician, videogame lover, and cooking enthusiast.