When processing IoT data on a large scale, the cloud is no longer sufficient and it has been proposed to move parts of the computation closer to the IoT devices – the so-called fog computing. There are also three basic processing paradigms today that lend themselves to IoT data processing: stream and batch processing as well as serverless functions. Where to place which part of the data processing and which processing paradigm to choose, however, is often unclear. In this paper, we give an overview of all three paradigms as well as different data processing use-cases. We use these to derive a decision framework which provides general guidelines for placement of processing and the respectively suitable paradigm when designing a large-scale IoT data processing architecture.