Deutsche Telekom AG is the world’s fourth largest wireless service provider by market capitalization in the global telecommunications industry. The Telecom giant operates businesses worldwide, including mobile telephony (under the T-mobile brand), fixed telephony, broadband Internet and IT Services. The scope of the company’s activities necessitates an agile and reliable development platform.
DT-HBS (Hosted Business Solutions) designed the platform for its cloud telephony service on two pillars: extreme agility and rock-solid quality of service.
Deutsche Telekom’s cloud telephony application is a complex multi-tier application containing multiple VMs and various high-end physical network appliances, including appliances from F5 Networks, Brocade, and Palo Alto Networks.
The HBS operations team has to maintain an extremely advanced and agile architecture, with VMware, Chef and Jenkins. However, this architecture is not immune to more mundane IT problems, specifically the lack of capacity and the hassle of managing physical hardware.
When the dev/test private cloud was out of capacity, HBS was hesitant to invest more time and money in building out more capacity because it would take away valuable staff time and monetary resources and diverge from focusing on developing the platform.
Hosted Business Solutions (HBS) deploys application and operating systems updates using a fully automated CI/CD pipeline. Jenkins drives this pipeline. It monitors the central Git repository and builds the software.
After the build, Jenkins creates a databag in Chef referencing the newly built versions, and provisions a set of VMs in the unit testing environment. It then bootstraps these VMs into Chef, which applies a base configuration depending on the run list, and on top of that the version of the packages that just got built as stored in the databag. Once the VMs are fully up and running, Jenkins instructs the F5 load balancer to redirect traffic to the new VMs. At this point, an external testing daemon kicks in that runs the unit test suite. If the unit tests pass, Jenkins moves to the next stage in the CD pipeline: the integration environment.
Looking to maintain the flexibility and agility, keep costs low, and accelerate the delivery of features to market, DT-HBS implemented Ravello for unit testing environments. With Ravello, subsequent tests can run simultaneously and if a build fails the tests, the environment can be retained for debugging. With the pay-as-you-go model from Ravello Software-as-a-Service (SaaS), each test run has its own environment and can be stopped and restarted as many times as needed. Thanks to the unlimited capacity of the cloud and Ravello, DT-HBS is able to keep lean and flexible in the testing process.
"Getting a copy of our environment into Ravello was easy. We simply uploaded our base image, and virtual appliance form factors of our physical appliances. We then used the Chef bootstrapping support that Ravello offers to bootstrap into our existing Chef infrastructure, and we were off to the races." Ram Akuka, Director of DevOps, Deutsche Telekom HBS
We invite you to check out the following webinar and learn how Deutsche Telekom cleverly leveraged both VMware and Amazon cloud infrastructures with Ravello’s nested virtualization to enable their CI/CD pipeline that uses Chef & Jenkins.