Optimizing Mobile Device Connectivity through Machine Learning
Deutsche Telekom relies on DC/OS to manage dynamic cloud infrastructure and enable open-source data services.
As one of the world's top telecommunications providers, Deutsche Telekom and its subsidiaries, like T-Mobile in the United States, are using machine learning algorithms based on dynamic cloud infrastructure managed by Mesosphere DC/OS to dramatically improve the consumer experience when it comes to mobile connectivity. The Deutsche Telekom CONNECT app, now available on the Google Play and iOS App Store, launched this year to allow customers to optimize their connection based on cost or performance at any point in time.
Want to avoid dropped connections and slow performance like the scenario above? Then you'd likely choose the "best network" setting, where the app automatically switches your phone from a Wi-Fi hotspot to the cellular network to ensure a seamless experience. If you're the budget-conscious type, then you'll opt for the "Wi-Fi preferred" setting to keep data transfers over cellular to a minimum. Of course, if the telecommunications provider can help you find fast Wi-Fi at will, everyone wins. Ensuring customers are using available Wi-Fi networks whenever possible means keeping networks from being overly taxed. Unclogging mobile cellular networks means a better experience for everyone.
A New Stack for Data Analytics and Machine Learning
While the end-goal may seem simple, the technology to get there is far from it. In speaking with Oliver Goldich, Deutsche Telekom's solution architect responsible for driving the backend infrastructure for the CONNECT app, Goldich observed that the company first started investigating connectivity solutions in 2015. The team began by piloting an emerging telecommunications standard called the Access Network Discovery and Selection Function (ANDSF). However, Goldich observed, "The standard was still old-fashioned and not very flexible for our use case, which required dynamic monitoring and decision-making. We needed a dynamic rule engine that the protocol could not support."
When it became clear they required a new kind of stack to adopt advanced data analytics and machine learning, Goldich and team began sourcing the components to get there. In 2016, they chose to invest in DC/OS. "At the time, Mesosphere DC/OS was already a mature and production-proven platform," said Goldich. "It was the best candidate to move our connectivity project forward." The CONNECT app started as a low-friction proof-of-concept: they built a network speed test app on a DC/OS service layer that allowed users to do a simple speed check. Deutsche Telekom collected and analyzed that user data with Spark to validate their approach.
Choosing a Cloud Provider
With the proof-of-concept results looking positive, Goldich and team began to build out the infrastructure requirements to automate the speed tests and, ultimately, improve the customer experience. "At that point, we knew if we wanted to create machine learning capabilities, we needed to add cloud capabilities for scale. However, it was very important to do so without vendor lock-in," said Goldich. With cloud came complications. Goldich noted that their existing devops process centered around deploying to an on-premise datacenter, which would not work with the machine learning stack they wanted to adopt.
"We chose Microsoft Azure and immediately set up DC/OS environments with new CI/CD capabilities. We felt confident choosing a cloud provider knowing that, with DC/OS, we will never need to re-architect the applications if we choose to move providers in the future. DC/OS completely abstracts the infrastructure layer, making it easy to move our applications to our preferred infrastructure — be it cloud, bare metal, or on-premise — with minimal engineering effort," said Goldich.
Additionally, DC/OS enables the use of elastic cloud resources and eliminates the need to create a virtual machine (VM) for every application, which allows Deutsche Telekom to maintain a high rate of utilization — which currently averages more than 75-percent CPU utilization on their production cluster.
DC/OS also provides one-click access to all of the open source data services Deutsche Telekom needed, including Apache Spark, Akka, and Apache Cassandra. By leveraging the "SMACK Stack", as this combination of data tools on Mesos is often referred, Deutsche Telekom is able to perform data collection at scale and analysis of network speed tests in real time.
Adding on the ELK Stack
Deutsche Telekom also chose the "ELK Stack," which is the combination of Elasticsearch, Logstash and Kibana, to supplement their data science and partnered with Instana for AI-powered application performance monitoring, which delivers deep insight into the health of their full technology stack and services.
Looking forward to predictive analytics
With all the production-ready components in place, Deutsche Telekom launched its CONNECT app at the close of 2017, enabling seamless connectivity experiences for its 156 million mobile customers. Whenever the CONNECT app is connected to a hotspot, Deutsche Telekom is able to perform automated speed tests to collect data on the thousands of available hotspots. Spark then processes those concurrent data streams to make real-time decisions for its customers on-the-go. Taking it a step further, the engineering team at Deutsche Telekom is training machine learning models using Spark to make these decisions even faster, which will continuously improve the user experience.
As the machine learning models continue to evolve, the DC/OS platform allows the developers to push constant, incremental improvements to their customers. The long-term goal is to incorporate predictive analytics, anticipating when certain cellular networks or hotspots are normally congested and diverting network usage accordingly. For now, the CONNECT app is focused on Deutsche Telekom's network of hotspots, but it plans to expand this service to third-party providers, like hotels and other public spaces.