<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>COMET: Distributed Metadata Service for Multi-cloud Experiments</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>10/01/2019</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10158250</idno>
					<idno type="doi">10.1109/ICNP.2019.8888138</idno>
					<title level='j'>2019 IEEE 27th International Conference on Network Protocols (ICNP)</title>
<idno></idno>
<biblScope unit="volume"></biblScope>
<biblScope unit="issue"></biblScope>					

					<author>Komal Thareja</author><author>Cong Wang</author><author>Paul Ruth</author><author>Anirban Mandal</author><author>Ilya Baldin</author><author>Michael Stealey</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[A majority of today's cloud services are independently operated by individual cloud service providers. In this approach, the locations of cloud resources are strictly constrained by the distribution of cloud service providers' sites. As the popularity and scale of cloud services increase, we believe this traditional paradigm is about to change toward further federated services, a.k.a., multi-cloud, due to the improved performance, reduced cost of compute, storage and network resources, as well as increased user demands. In this paper, we present COMET, a lightweight, distributed storage system for managing metadata on large scale, federated cloud infrastructure providers, end users, and their applications (e.g. HTCondor Cluster or Hadoop Cluster). We showcase use case from NSF's, Chameleon, ExoGENI and JetStream research cloud testbeds to show the effectiveness of COMET design and deployment.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>The emergence of cloud computing has substantially affected how scientists and engineers think about Internet architecture. Cloud computing provides a shared pool of re-configurable computing resources, such as computing servers, storage, application engines, or network links that can be deployed and destroyed based on user needs.</p><p>This provides great flexibility for a wide spectrum of users to rapidly obtain resources from a few "Internet-scale" providers like Google, Microsoft and Amazon, whose resources are concentrated in a relatively small number of data centers strategically located around the globe. However, today's cloud application developers can only enjoy the conveniences from these cloud providers when they deploy applications on a specific cloud. There are significant difficulties for developers to develop, automate and manage distributed applications spanning multiple clouds. We believe this traditional, individually managed cloud architectural pendulum is about to change towards the direction of open, unified services. This change motivates researchers to rethink today's centralized network-cloud architecture as a widely distributed multi-provider, a.k.a.,multi-cloud, marketplace that allows end-users to choose providers based on cost, distance, jurisdiction, capabilities, and specific tasks they need to perform within their application stacks. This paper focuses on metadata management services for a multi-cloud architecture. Metadata services store information about compute, networking, or storage resources provisioned for the tenants, such as host names, public keys, list of IP and MAC addresses, instance status, network VLAN tags, etc. Many public and private cloud implementations include metadata services, such as AWS metadata service <ref type="bibr">[1]</ref>, OpenStack metadata service <ref type="bibr">[2]</ref> or AWS SSM <ref type="bibr">[3]</ref>, which are essential for bootstrapping the tenant software stacks. A major drawback is that, the current metadata services are constrained to a specific cloud provider domain or tied to a specific provider authorization infrastructure. To launch applications (e.g. HTCondor or Hadoop Cluster) across multiple cloud domains, the tenants must be able to post and retrieve metadata from resources deployed across multiple cloud providers in a secure way.</p><p>In this paper, we propose a lightweight metadata management framework-COMET <ref type="bibr">[4]</ref>-to support distributed, key-value oriented metadata for both the cloud infrastructures and user applications. We also demonstrate the use cases of COMET. The COMET Service <ref type="bibr">[5]</ref> is currently hosted at RENCI and accessible from Headnode (comet-hn1.exogeni.net) and used by the DyNamo Mobius <ref type="bibr">[6]</ref> platform and ExoGENI users.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. DESIGN</head><p>COMET is designed to provide a global, universal metadata service that stores data from any node that was created by one or more cloud orchestration services. Fig. <ref type="figure">1</ref> depicts the COMET structure for two cases: COMET can be deployed inside a single cloud service (Cloud Service Provider 1); it can also be deployed on a third-party service domain to coordinate multiple cloud services. COMET is RESTful and stateless, which makes it scale up well.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. DATA SECURITY</head><p>The COMET entry structure is depicted in Table <ref type="table">I</ref>. COMET extends Accumulo by storing a serialized object as Accumulo's value entry. The object contains the WriteToken, which allows the client to perform write or delete operations  only if the correct token is presented. ifDeleted keeps track of deleted entries: when a metadata entry is deleted, COMET flags the data as "deleted" and keep records of deletion timestamps for debugging purposes.</p><p>COMET provides two level data security. First, it verifies a client's SSL certificate to ensure that the data entries are created only by the applications or users presenting a certificate that is signed by a Trusted Authority. Second, it uses a combination of read and write tokens to ensure each data entry is managed by the right user.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. WHY COMET?</head><p>Without a global meta data service like COMET, automatic deployment and configuration of applications like Hadoop cluster or HT Condor cluster across multiple clouds requires either manual intervention or complex scripting. We describe the problem with the example of HT Condor Cluster(used by DyNamo <ref type="bibr">[6]</ref>) configuration below.</p><p>HT Condor cluster has 3 kinds of nodes -master, submit and worker nodes. A user requires the following information to configure a condor cluster:</p><p>&#8226; Master node's hostname -must be shared with submit and worker nodes &#8226; Exchange public keys for root user (assuming condor is running as root) between all nodes &#8226; Specify the network subnet in condor config file on each node &#8226; Every node in the cluster must know hostname and IP address of rest of the nodes in the cluster &#8226; Add or Delete the newly added/deleted nodes in /etc/hosts file and authorized keys COMET provides an easy, secure and extensible mechanism to automate deployment and configuration of applications like HT Condor Cluster across multiple clouds.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. EXPERIMENTAL USE CASE</head><p>COMET is used by the Mobius <ref type="bibr">[7]</ref> platform in DyNamo <ref type="bibr">[6]</ref> as depicted in Fig. <ref type="figure">2</ref> to spawn a HTCondor cluster across ExoGENI, Chameleon Cloud and JetStream testbeds. All the resources within a cluster are identified as workflow. A user or experimenter could add or delete resources dynamically to a workflow. Mobius has a Python based provisioning client, which provisions resources on various clouds for a workflow. It also creates a context in COMET protected by read and write tokens via a COMET client <ref type="bibr">[8]</ref>. It creates two entries shown below within the context for each Compute Node. Read and Write tokens are passed to each Compute Node. All compute nodes share same read token but have individual write tokens.</p><p>&#8226; "family": "hostsall", "key": "hostname", "value": "" &#8226; "family": "pubkeysall", "key": "hostname", "value": "" Each of the Compute Node has a HostKey Daemon <ref type="bibr">[9]</ref> running on it. The HostKey Daemon does the following using the COMET Client:  VI. CONCLUSIONS In this paper, we discussed the COMET metadata management service that focuses on security and flexibility for multicloud applications. We discussed the design, implementation and experimental use of such a service by DyNamo to automate configuration of applications running across CIs.</p></div></body>
		</text>
</TEI>
