Chapter 1. Introduction to Mesos
Let’s take a trip back in time, to the year 1957. Computers that use transistors are starting to proliferate across universities and research laboratories. There is a problem, though—only one person can use a computer at a time. So, we have paper sign-up sheets so that we can reserve time slots on the machines. Since computers are so much more powerful than pencil and paper, they are in high demand. At the same time, since the computers are so expensive, if people don’t use their whole reservations, then thousands of dollars of compute-time could be wasted! Luckily, the idea of operating systems already existed, more or less, at the time. A brilliant man named John McCarthy, who also invented LISP, had a great idea—what if all the users could submit their jobs to the computer, and the computer would automatically share its CPU resources among the many different jobs?
Jobs Became Programs
What we now call applications or programs used to be called jobs.
We still can see this terminology in our shells, where, once we’ve backgrounded a process, we use the jobs command to inspect all the programs we’ve launched in the shell.
Once a single machine could be shared between jobs, we didn’t need humans to supervise the sign-up sheets—now, everyone could use the machine, and share it more easily, since the machine could enforce quotas, priorities, and even egalitarian fairness (if so desired).
Fast-forward to 2010: with the falling costs of networked data ...