{'fraction_non_alphanumeric': 0.028169014084507043, 'fraction_numerical': 0.0, 'mean_word_length': 5.75, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
IBM Bluemix Mobile Cloud Services

The Mobile Cloud Services offering of IBM Bluemix® is a platform for cloud-based mobile applications, providing data and file storage, application authentication, push notifications, and server-side application logic, all available through easy-to-use client software development kits (SDKs). In this paper, we describe the server-side architecture for the key components of the Mobile Cloud Services. For scalability and fault resilience, components are implemented as stateless services that communicate using a distributed message queue. We adopted a “design for failure” approach to all environmental services, including basic networking support. We developed a robust communications layer that adds timeout and retry logic to all external interactions. We also built a flexible and robust application-monitoring infrastructure to constantly probe the service components, test end-to-end functionality, and report any problems through web monitors and text messages. Finally, we designed and delivered client SDKs for Android®, iOS®, and JavaScript® that enable application developers to quickly create robust mobile applications that utilize IBM Mobile Cloud Services. These architecture and implementation choices have resulted in a robust and scalable cloud-based platform for mobile application developers.