Individually hosted and deployed units
Resource heavy, high runtime costs
Unused chargeable resources
Complex solution management
Grouping tasks with similar scalability, elasticity and release cadence requirements & share same security context
One computational unit to process multiple tasks
Making sure they don't compete for same resources and they can cope with interruptions
Keeping in mind security threat, and complexity of code it introduces