Another pair of terms that are easy to confuse are parallelism and concurrency.
Parallelism has to do with many workers working simultaneously. Concurrency, on the other hand, is about being able to make incremental progress on more than one task.
The terms scalability and performance are sometimes used interchangeably, but they actually mean two entirely different things.
Let’s make sure we understand the difference.
Performance is about how well your application runs for one user.
As an application attracts more users, the ability to scale becomes paramount. The solution often is to decouple your application and turn you monolithic codebase into multiple microservices. Why is Docker a key component in this new architecture, and what does this all even mean?