For distributed applications to take full advantage of cloud computing systems, we need middleware systems that allow developers to build elasticity management components right into the applications. This paper describes the design and implementation of ElasticRMI, a middleware system that (1) enables application developers to dynamically change the number of (server) objects available to handle remote method invocations with respect to the application's workload, without requiring major changes to clients (invokers) of remote methods, (2) enables flexible elastic scaling by allowing developers to use a combination of resource utilization metrics and fine-grained application-specific information like the properties of internal data structures to drive scaling decisions, (3) provides a high-level programming framework that handles elasticity at the level of classes and objects, masking low-level platform specific tasks (like provisioning VM images) from the developer, and (4) increases the portability of ElasticRMI applications across different private data centers/IaaS clouds through Apache Mesos.
翻译:为了充分利用云计算系统,我们需要使用分布式应用软件,我们需要使开发者能够在应用中建立弹性管理组件的中间软件系统。本文描述了ElasticRMI的设计和实施,这是一个中间软件系统,它(1) 使应用程序开发者能够动态地改变可用于处理远程方法物体的数量(服务器),以便处理远程方法在应用工作量方面的援引,而无需对远程方法的客户(登记者)进行重大改动;(2) 通过允许开发者使用资源利用量和微小微微微微的应用程序特定信息(如内部数据结构的特性)来推动规模决定;(3) 提供一个高层次的编程框架,用以处理类别和目标一级的弹性,从开发者那里掩盖低层次平台的具体任务(如提供VM图像),以及(4) 通过Apache Meos提高不同私人数据中心/Iaas云的 Elastri RMI应用程序的可移动性。