Előző fejezet: 7. Hálózati port hozzárendelés
Következő fejezet: 9. Eldobhatóság
Szolgáltatásunkat a nagyobb terheléshez -az állapot nélküli- folyamat modellünknek köszönhetően méretezzük át menet közben.
Minden számítógépes program futtatása egy vagy több folyamatként (process) jeleníthető meg. A webes alkalmazások sokféle folyamat végrehajtási formát ölthetnek. Például a PHP folyamatok az Apache által a háttérben indított alfolyamatokként (child process) futnak, a kérések mennyiségéhez igazodva. A Java folyamatok épp az ellenkezőleg, a JVM egy méretes főfolyamatot (uberprocess) szolgáltat, ami induláskor a rendszer (CPU és memória) erőforrásainak egy jelentős részét lefoglalja, és a párhuzamosságot belső szálakkal kezeli. Mindkét esetben a futó folyamat(ok) csak minimális szinten láthatók az alkalmazás fejlesztője szemszögéből.
A skálázást fejezzük ki folyamatokban, a terhelés sokféleségét pedig fejezzük ki folyamattípusokban.
Tizenkét tényezős alkalmazás esetén a folyamatok elsőrendű állapolgárok. A folyamatok a tizenkét tényezős alkalmazásban nagyon erősen másolják a unix világ folyamat modeljét ami szolgáltatás daemon-okat futtat. Ezt a modellt felhasználva a fejlesztő a különböző terhelésekhez különböző típusú folyamatokat rendelve építheti fel az alkalmazását. Például a HTTP kéréseket kiszolgálhatják web folyamatok, a hosszú ideig futó háttérfeladatokat pedig kiszolgálhatják munkavégző (worker) folyamatok.
Ez nem zárja ki az egyes folyamatok saját belső párhuzamos tevékenységét (multiplexing) több szálon a futó viruális gép (VM) belsejében, vagy a Twisted, az EventMachine vagy Node.js vagy hasonló környezetekben található az aszinkron/eseményvezérelt felépítést. De a virtuális gép (VM) alapú rendszer maga csak egyféle nagy lehet (függőleges skálázással a gépet tudjuk alatta megnövelni), így az alkalmazásnak képesnek kell lennie a különböző folyamatokat több gépre leosztva futni, amenniyben párhuzamos (vízszintes) skálázódásra van szükség.
A folyamatmodell kíválósága akkor ragyog fel igazán, ha a megnövekedett terhelésre válaszul az egyszerre kiszolgáló folyamatok számát meg kell növelni (vizszintesen kell skálázni). A tizenkét tényezős alkalmazás semmit sem megosztó, párhuzamosan (vízszintesen) építhető természetének köszönhetően a párhuzamos végrehajtási kapacitás növelése egyszerű és megbízható művelet. A különböző folyamattípusok együttese és ezen belül az egyes folyamattípusokból futó folyamatok számát szokás folyamatkialakításnak hívni.
A tizenkét tényezős alkalmazás sosem démonizál vagy ír PID állományt. Helyette az operációs rendszer folyamatvezérlőjére támaszkodik (mint a systemd, vagy az elosztott folyamatvezérlő felhős környezetben, vagy a Foreman-hoz hasonló eszközök fejlesztési környezetben) a kimeneti adatfolyam vezérléséhez, a bedőlt folyamatokra adott válaszhoz és a felhasználó által kezdeményezett újraindítások és leállások kezeléséhez.