{'fraction_non_alphanumeric': 0.023566029346376166, 'fraction_numerical': 0.00755891507336594, 'mean_word_length': 5.7164179104477615, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
MyOps: A Monitoring and Management Framework for PlanetLab Deployments

PlanetLab is a global deployment of more than 1000 registered machines for developing and evaluating distributed, network services under real-world conditions[4], [5]. The PlanetLab platform is based on MyPLC1: an open-source, software distribution available for other organizations to download, modify and run private instances of the platform. A growing number of groups are using MyPLC as a starting point for their own deployment such as Google MLab2, VINI3, and PlanetLab Europe4. And, because PlanetLab has operated since 2003, the MyPLC code base includes accumulated experience that, in part or in whole, could contribute to many other nascent projects. For example, school server deployments for projects like OLPC and Intel Classmate are considering the techniques that proved useful to PlanetLab. While the abstract architecture of a distributed deployment may be simple, implementing and operating it is difficult. A distributed deployment is often implemented using imperfect hardware and software, hosted in non-data center environments where connectivity is dependent upon third-party administered networks. Even minor problems with the hardware, software, or network make managing any distributed deployment a challenge. From our experience operating the worldwide, PlanetLab deployment, the three primary challenges we faced were: 1) timely observation of problems, 2) efficiently acting to resolve these problems when possible, and 3) coordinating with remote contacts to address problems that cannot be resolved remotely. Due to the scale of the deployment, manual, operator actions often missed early identification of problems, they were time consuming and repetitive to address when identified, and required inefficient initiation of correspondence with remote contacts. For this reason, we developed a framework to capture the management cycle of a distributed deployment over time by continually collecting information about the system state, comparing this information with the expected state, taking automatic actions to resolve discrepancies, and simplifying the task of engaging remote contacts. This paper introduces MyOps, which is a collection of