Reinhardt Quelle, Operations Architect, Cisco WebEx
To support new applications and services more effectively, Cisco WebEx is embracing cloud computing and a more agile development process.
Since its founding in 1996, WebEx Communications Inc. has helped to pioneer on-demand applications delivered over the Internet with its Software as a Service (SaaS) products. In March 2007, WebEx was acquired by Cisco Systems and today offers a expanded portfolio of on-demand people centric collaboration applications that include web conferencing, instant messaging, enterprise social software, and hosted telepresence solutions. These services provide a rich set of cloud collaborative applications to enhance productivity, accelerate innovation and improve decision making for organizations of any size.
“WebEx is a business-critical service and we never turn it off. At 3:00 a.m. on a Saturday morning, our customers can start a WebEx meeting. There is never any downtime scheduled for WebEx,” says Reinhardt Quelle, WebEx operations architect at Cisco.
To support the delivery of its applications and services, the WebEx infrastructure had become fragmented over the past 16 years, which made it necessary to support different practices and procedures to provision, configure, deploy, and maintain many different types of systems. In an effort to streamline both its operations and its infrastructure, Cisco has incrementally built a cloud platform for WebEx that would provide the agility, resiliency, and operational efficiencies needed to effectively provide the services customers will demand in the years ahead. And, in addition to putting an agile infrastructure in place, Cisco wanted to create a more agile development and operations team for WebEx.
“While we don’t use the title ‘DevOps’ for what we’re doing, it does accurately describe how we are tightly integrating the collaboration between our engineering and operations teams to reengineer the way we deploy and manage our infrastructure,” Quelle says.
To build that cloud architecture, Quelle and his team knew the platform had to be open as well as API-driven. They needed all of the characteristics of an on-demand, infrastructure-as-a-service platform, so in late 2011 they began to consider all of the available leading cloud platforms with an especially close eye toward a platform that also would be agile, resilient, and highly available.
Initially, the cloud is intended to be a platform for new applications and services. The cloud architecture they chose also would have to be well suited for multi-datacenter, private cloud environments. “Running in the public cloud was never really an option for us. If one of our customers is ever having a problem with a meeting, we have to own that problem from end to end. We can’t blame it on a public cloud provider,” says Quelle.
Additionally, the WebEx services utilize IT services that are highly specialized for the complex delivery of voice, video, screen sharing, and collaboration that don’t lend themselves easily to a public cloud environment. “We run in close to 20 locations around the world with multiple interconnects. They simply wouldn’t function on a public cloud,” he says.
A strong commercial ecosystem was also an important criterion for Quelle. “A large community means good, healthy competition with lots of support options. I didn’t want to be tied to one vendor with licensing fees.”
Because a central aspect of the WebEx cloud initiative was also was to put into place an agile development and operations environment, the quality of tools available to support the cloud was crucial. “Before we decided on the main platform, we also took a close look at what deployment automation tools and experts were available and capable of supporting the cloud,” Quelle explains.
After careful consideration, the cloud platform that Cisco selected for WebEx was OpenStack. OpenStack is the fastest growing open cloud community, building software to power public and private clouds for a growing number of organizations like CERN, eBay, HP, Intel, MercadoLibre and Rackspace. The software controls and automates pools of compute, storage and networking resources to turn standard hardware into a powerful cloud computing environment.
“As we examined the various initiatives we’d have underway in our cloud, which would include the intermingling of physical and virtual loads as well as complex network configurations, we knew that the flexibility inherent in OpenStack would prove powerful enough to support our objectives,” Quelle says. “With OpenStack we have the ability to customize the platform and maintain significant control over our destiny.”
To ensure that the project would be completed on time and within budget, the WebEx team turned to Mountain View, California-based engineering services company Mirantis, one of the world’s largest specialized OpenStack cloud systems integrators. Mirantis provided a team of engineers and architects who brought the OpenStack and cloud domain skills that would help the WebEx team plan and execute successfully.
The WebEx team deployed the OpenStack Essex release, while also selecting a handful of Folsom release components already appearing in trunk. Currently, the WebEx team has deployed OpenStack in two data centers with the objective to support an upcoming, yet unannounced new WebEx service. Mirantis and the WebEx team designed and deployed the OpenStack cloud to be highly available, including a highly-available pair of controller nodes fronted by a highly available proxy load balancer.
To help create an infrastructure that would support Quelle’s goal of continuous deployment, Mirantis designed and deployed a set of Puppet toolsets to make possible the automated provisioning of OpenStack compute and storage services. The automation tools take into account the context of the WebEx environment, including a specific operating system, host configuration, network, and storage, as well as keeping monitoring and logging capabilities in place.
An aspect of the OpenStack platform that Quelle especially appreciates is its flexibility, including the ability to create custom schedulers. For example, to meet Cisco’s requirements Mirantis extended the Nova scheduler to optimize the placement of persistent disk volumes to ensure diversity for fault tolerance while enabling compute instances to be located on the same host for maximum performance.
By all measures, the OpenStack cloud implementation has been a success. Today, there are numerous other product teams within Cisco that have witnessed the results and are interested in moving their groups to the OpenStack cloud.
“They’re seeing how we complete multiple releases a day within an agile infrastructure, and they want the same capabilities and results,” explains Quelle. “The biggest challenge for me now is trying to keep my finger in the dike to make sure that the platform is ready to support the large number of users who want to come aboard and use the cloud. We are very excited to have achieved this. The speed at which this new product team was able to get its product deployed and running on OpenStack was faster than we’ve ever been able to achieve previously. And we’ve been able to deploy this cloud just as if it were a public cloud, but with all of the controls and benefits of a private cloud,” he says.