 deployment, we need to come up with strategies to handle individual components' fail- ures and to perform failure recovery to meet the carrier grade's five nines availability requirement. 1.2 Supporting Technologies In this section, we briefly highlight the high-level ideas of related technologies. We will go into details of each of them in the rest of this book. 1.2.1 Cloud Computing Cloud computing is transforming the way people use computers and how application services are run. While it has been widely used as the platform of choice for many web services, it is also becoming the hosting platform of network services. Virtualization is the key under- lying technology enabling cloud providers to host services for a large number of customers. With virtualization, the physical resources and the applications are loosely coupled. The cloud customer is able to dynamically provision infrastructure to meet the current demand by leasing resources from the cloud infrastructure provider. On the other hand, the cloud provider can leverage economies of scale to provide dynamic, on-demand infrastructure in the best cost-effective manner. Using virtualization techniques [11], multiple virtual machines from different customers share the same physical servers. This is called multitenancy, which allows independent customers to lease resources from the cloud provider. Virtualization initially started with host virtualization, such as virtual machines 1.2 Supporting Technologies (VMs) or container. Later, the same concept has been extended to network virtualization, network functions virtualization (NFV), and SO on. These technologies move the networking industry from today's manual configuration to more automated and scalable solutions. They are complementary approaches that solve different subsets of network mobility problem. SDN and NVF are among other initiatives to move from the traditional cellular infrastructure toward a cloud-based infrastructure across multiple areas including radio access network, core network, backhaul