The typical cloud architecture relies heavily on the hypervisor to provide high resource utilization and flexible application delivery. However, the use of standard hypervisors and traditional enterprise applications starts to inhibit performance as the number of applications increases. Parallels says it has a fix in its container approach to increase application isolation for the benefit of service level performance and overall resource efficiency. As the company’s CTO, server virtualization, James Bottomley, tells IT Business Edge’s Arthur Cole, the cloud does not serve the same purpose as the traditional data center, so it should not have the same virtual architecture.
Cole: The cloud is commonly thought of as a mere extension of the data center. But this is not necessarily the case when it comes to application performance. What are some of the key differences between the way apps function at home and in the cloud?
Bottomley: Home applications all run locally, within the confines of a single machine. Cloud applications tend to have an app frontend to the user’s device, with a cloud backend, which provides storage. This means data is automatically saved to the cloud and backed up offline, making it easily migratable between the same user on different devices. It could also provide enhanced processing or up-to-date access to other data stores.
Cloud applications are typically hosted on a virtual server that is operating on a large physical server that may simultaneously be providing applications to potentially hundreds of other users. This differs from using the application at home where the application is running on a dedicated operating system and hardware – typically your PC, tablet or Mac. Hosting applications in virtual servers creates some unique challenges. Among them is security, since end customers need confidence in data security, but also things like stability to ensure minimal downtime and close to 100 percent availability, as well as performance considering many high-performance applications perform poorly in traditional hypervisors. As well, we must consider manageability so that deployment and management of new applications and upgrades on a large scale can be low cost and reliable, and density, because virtualization overhead limits densities of applications per physical infrastructure and drives up costs.
Service providers must carefully select their virtualization solution to solve these problems and provide high-quality hosted applications. They have to focus on application isolation for stability and security combined with rapid provisioning, high density, and high performance for a high-quality customer experience.
Cole: Some organizations are working with cloud-optimized hypervisors, but Parallels has been talking up application containers and isolation of late. What are the chief benefits to this approach?
Bottomley: Containers are uniquely suited to cloud server virtualization. They enable near instant provisioning and on-the-fly modification of cloud server resources, which make the high elasticity and scalability required for cloud deployments possible. At the same time, containers allow more efficient use of server hardware and deliver maximum density, cost efficiency and application performance. In short, containers provide unmatched density, near-native performance, dynamic resource control, complete isolation and built-in application provisioning.
Containers also address cloud tenancy – the problem of sharing a single application backend between multiple users who each expect agreed levels of service and data security. They can run multiple threads of execution through a single application, and a set of threads can be containerized to provide exact service expectations and plugged into different backend data stores to preserve security.
Cole: What about inside the data center? Can the container approach work with traditional infrastructure as well, for those working toward hybrid cloud architectures?
Bottomley: Container technology is well suited for virtualizing data center applications and is currently used in some of the largest data centers in the world. Hosted applications within the data center must be highly scalable, provide a consistent user experience across a large user base, enable rapid time-to-market for rollout of new applications and updates, and provide centralized management of rollouts and upgrades. Hypervisors have a hard time meeting these requirements due to slow provisioning and reboot times, low density, and the need to manage multiple OS and application copies. Containers solve these problems as they use a single OS and application copy for high density and instant provisioning, and the applications can be containerized for full QoS and SLA control.