Khi một ứng dụng có thể mở rộng từ vài nghìn lên vài triệu người dùng mà vẫn vận hành ổn định, đó không chỉ là thành quả của lập trình mà còn là kết quả của kiến trúc xử lý được thiết kế đúng cách. Trong thực tế, mọi hệ thống lớn đều phải giải quyết hai câu hỏi quan trọng: làm thế nào để xử lý nhanh hơn và làm thế nào để hệ thống không “sập” khi tải tăng cao. Tính toán song song và phân tán ra đời để trả lời những câu hỏi đó.