What is an API?
Before delving into the specifics of model deployment, we need to study an important software engineering topic that simplifies the entire process of model deployment, that is, an Application Program Interface, commonly referred to as an API. An API is a set of clearly defined methods for communication between various software components. Software development has been made significantly easier with the advent of APIs. If a developer, say, wanted to develop an iPhone app that would add some filters to an image, they need not write the entire code to capture the image from the phone's camera, save it to the library, and then apply their app-specific filters to it. Instead, they can use the phone camera API, which provides an easy way to communicate with the camera and only focus on writing code that would add filters to an image. In a nutshell, an API is the means for heterogeneous software components to communicate with each other.
In a large software product, there would be...