Control groups (cgroups) are a kernel mechanism to help limit and measure the total resources a group of running processes uses. It can help you limit and measure CPU, network, IO quotas, and memory. Google's Rohit Seth and Paul Menage developed cgroups. It was later merged as a feature into Linux 2.6.24.
A namespace is a kernel mechanism to help limit the visibility of a group of processes over the rest of a system. You can use namespaces to limit visibility to specific process trees, user IDs, network interfaces, and filesystem mounts. Eric Biederman initially developed namespaces. The final namespace feature was merged into Linux 3.8.