Building Scalable APIs Using Flask and Docker
Wednesday, 01 December, 10:30AM – 10:55AM (UTC)
Many backend software engineers can build rest APIs but very few can build scalable APIs, which accommodate changes and growth. During this talk we will learn how to build scalable APIs that doesn't often need to be re-written in case of growth using Python Flask micro-framework and Docker.
Flask is a Python micro-framework for web app development. Micro-frameworks are the opposite of full-stack frameworks, which also offer additional modules for features such as authentication, database ORM, input validation and sanitization, etc. Flask is known as a micro-framework because it is lightweight and only provides components that are essential. It only provides the necessary components for web development, such as routing, request handling, sessions, and so on. On the other side, Docker is an open source platform for building, deploying, and managing containerized applications. It enables developers to package applications and APIs into containers. Containers are standardized executable components combining application source code with the operating system (OS) libraries and dependencies required to run that code in any environment. They simplify the delivery of distributed applications, and have become increasingly popular as organizations shift to cloud-native development and hybrid multicloud environments. During this talk we will combine the power of flask and Docker to developer highly performing and scalable APIs. We will be using slides and demos to make it more engaging. The ability to develop robust Application Programming Interfaces (APIs) requires scalability. Scalability, when employed appropriately, will become a critical component not just in a business, but also in the entire industry. It is becoming more demanding as the programs we use these days develop. They also need to process large amounts of data, which is where scalability comes in handy. APIs are the fundamental mechanism that separates backends from frontends by allowing teams to focus on the fundamental value proposition while allowing customers to achieve their goals by connecting them to functionality and data. Hence, raising the need for developing APIs which accommodates growth.