# Um Processo por Container

O cluster adota o princípio de:

> Um container deve executar apenas uma responsabilidade.

Isso melhora:

- Isolamento de falhas
- Escalabilidade independente
- Observabilidade
- Logging
- Atualizações
- Diagnóstico de problemas
- Consumo de recursos previsível

Exemplo de separação comum:

<div class="TyagGW_tableContainer" id="bkmrk-responsabilidade-ser"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2797" data-start="2608"><thead data-end="2638" data-start="2608"><tr data-end="2638" data-start="2608"><th class="" data-col-size="sm" data-end="2627" data-start="2608">Responsabilidade</th><th class="" data-col-size="sm" data-end="2638" data-start="2627">Serviço</th></tr></thead><tbody data-end="2797" data-start="2670"><tr data-end="2685" data-start="2670"><td data-col-size="sm" data-end="2676" data-start="2670">Web</td><td data-col-size="sm" data-end="2685" data-start="2676">nginx</td></tr><tr data-end="2709" data-start="2686"><td data-col-size="sm" data-end="2698" data-start="2686">Aplicação</td><td data-col-size="sm" data-end="2709" data-start="2698">php-fpm</td></tr><tr data-end="2734" data-start="2710"><td data-col-size="sm" data-end="2722" data-start="2710">Scheduler</td><td data-col-size="sm" data-end="2734" data-start="2722">schedule</td></tr><tr data-end="2753" data-start="2735"><td data-col-size="sm" data-end="2744" data-start="2735">Worker</td><td data-col-size="sm" data-end="2753" data-start="2744">queue</td></tr><tr data-end="2777" data-start="2754"><td data-col-size="sm" data-end="2766" data-start="2754">Migration</td><td data-col-size="sm" data-end="2777" data-start="2766">migrate</td></tr><tr data-end="2797" data-start="2778"><td data-col-size="sm" data-end="2787" data-start="2778">Seeder</td><td data-col-size="sm" data-end="2797" data-start="2787">seeder</td></tr></tbody></table>

</div></div>Essa separação é parte fundamental da arquitetura do cluster.