Współczesne serwisy internetowe odpowiadają na miliony zapytań użytkowników. Wszystkie one działają w środowiskach klastrowych. Obsługa wielu zapytań wymaga znacznych zasobów, takich jak czas procesora (CPU) oraz pamięć RAM. Każde połącznie do serwera generuje jego dodatkowe obciążenie. W takiej sytuacji jeden serwer wymagałby ogromnych ilości zasobów, a prawo Moor’a już się nie sprawdziło. Aby temu zaradzić potrzebujemy wielu serwerów, które obsługują zapytania użytkowników. Aplikacje webowe (w tym także IoT) używają protokołu HTTP(S), który działa na zasadzie: żądanie-odpowiedź. Gdy użytkownik otwiera stronę, lub wywołuje akcję, zostaje wysłane żądanie do serwera. Na każde żądanie użytkownika serwer musi przygotować odpowiedź. Każda odpowiedź musi zostać w odpowiedni sposób przeprocesowana, a to stanowi główne kryterium estymacji ilości zasobów serwera – żądania mogą być różne, od danych statycznych jak style CSS lub obrazy, po skomplikowane jak pobieranie danych z bazy, filtrowanie lub wyliczanie pewnych współczynników.