 monitoring-high avail- able (CM-HA) systems monitor critical VMs and re-instantiate them on other hardware, if the hardware fails. 4.4.4 APPLICATION RESILIENCY NFVI can be utilized by multiple applications and VNFs. These applications and VNFs do not need to acquire their own dedicated infrastructure. Once the infrastructure has been built in a resilient manner, it is paramount that applications also be created in a manner that allows for unobstructed performance and resiliency. Below are some application resiliency practices to consider when creat- ing fault-tolerant NFVI applications: Network Functions Virtualization Infrastructure 1. Service decomposition. Structure the service as a collection of loosely coupled virtual functions, each of which realizes a well-defined portion of the final service. It should be possible to deploy and manage them independently of other virtual functions. 2. State management. Explicitly consider how to manage state, and in particular, how to externalize state for those virtual functions that are not stateless. 3. Monitoring and control. Cloud-based applications can use scale-out/scale-in as a funda- mental technique for handling failures, as well as to deal with both long- and short-term load variations and platform upgrade impact mitigation. Having the ability to monitor and control service virtual functions is key to realizing this vision. 4. Fault-tolerant features. Fault-tolerant features such as live migration, clone, and snapshot are used by tenants to increase resiliency in their specific applications. LEVERAGING NFVI FOR VNFS As stated at the beginning of this chapter, NFVI represents the assets that form platforms for sup- porting the NFV and hosting VNFs. VNFs provide varying types of services to the enterprise; as a result, the configuration of one VNF may not meet the requirements of another VNF. These con- figurations are commonly referred to as "performance profiles" when speaking in generalities. The specifics of performance profile configurations and naming conve