1.1 EUCALYPTUS:EC2 's Open source implementation 1.1.1 Background
EUCALYPTUS[22] is an open-source software infrastructure for cloud computing, implemented by Daniel Nurmi of the University of California. Eucalyptus is an open source implementation of the Amazon EC2 that is compatible with the EC2 business Services interface. Eucalyptus is a research community-oriented software framework that is different from other IaaS cloud computing systems and can be deployed on existing common resources, Eucalyptus modular design, with components that can be replaced and upgraded, Provides a good platform for researchers to study cloud computing. Eucalyptus's design goals are easy to expand, install, and maintain. Like EC2, Eucalyptus relies on Linux and Xen for operating system virtualization. This section describes the design, architecture, and component capabilities of eucalyptus. The Eucalyptus system is currently available for download and can be installed in clusters and various personal computing environments. It is believed that with the further research, eucalyptus will arouse more people's attention.
1. Development purposes
Users can use various computing and storage resources in a variety of ways, including a single laptop to thousands of compute nodes distributed around the world. Users typically locate these resources based on a variety of features such as hardware architecture, memory and disk storage capabilities, network connectivity, or geographic location. Generally, this resource location involves complex issues such as resource availability, application performance analysis, software service requirements, and administrative relationships. High-performance computing and Grid computing make a big step in resource allocation standards [23][25], but these standards are cumbersome for users with complex resource requirements. For example, a user who needs a large number of computing resources must contact several different resource providers to meet their own needs, and the resource pool of these resources is largely heterogeneous, making performance analysis of tasks and efficient use of resources difficult. While users with expertise can accept the heterogeneity of resources, many users prefer a consistent development and running environment for hardware resources, software stacks, and programming environments that make large-scale application development and deployment easier.
The basic function of cloud computing is to provide access to large scale data and computing resources through various interfaces. The current cloud computing system basically follows the same principle, that is, the acquisition and release of resources is on demand, and the user interface should be very simple. In addition, the resources provided by cloud computing systems hide a large amount of information, such as the physical location of resources, the details of computing resource architectures, to users through virtualization technology. This application pattern is widely recognized and provides new programming goals for developers to develop scalable applications. As the number and scale of cloud computing systems grow, some important issues in cloud computing need to be studied to make the cloud computing platform develop and succeed as expected. But most cloud computing products are either proprietary, or the large infrastructure and software they rely on are not open to researchers in the research community, and cloud computing researchers are not able to modify and experiment on them [22]. Lack of research tools makes many basic problems unresolved.
Eucalyptus is designed to support cloud computing research and infrastructure development. It is based on the idea of "infrastructure as Service (IaaS)", unlike cloud computing providers such as Google, Amazon, Salesforce, 3Tera, which use computing and storage infrastructures such as clustering and workstations for academic research organizations. Provides them with a modular, open research and testing platform that provides users with the ability to run and control the entire virtual machine instance deployed on various virtual physical resources. Eucalyptus's design emphasizes modularity to allow researchers to test cloud computing security, scalability, resource scheduling, and interface implementation, which is beneficial to the research and exploration of cloud computing in the community.
2. Design principles
While cloud computing systems have provided users with some of the services available, the closeness of their software makes it difficult for cloud enthusiasts to find an open and flexible framework to customize their experiments. Eucalyptus is a research-oriented open source cloud computing system, designed to meet the needs of many researchers, using a unique design [22][30]:
(1) Eucalyptus must be able to deploy and execute in a software and hardware environment that is not controlled by its designers.
(2) The Eucalyptus must be modular so that different researchers can upgrade, transform, and replace them, while achieving maximum scalability.
Eucalyptus's system architecture design takes into account the above two principles and makes trade-offs between them.
3. Eucalyptus and IaaS
While most of the existing cloud implementations follow the principles of flexibility, scalability, and dynamic computing capabilities, there are many differences in how this computing power can be made available to users. such as Amazon's flexible computing cloud ec2[23][27] allows users to allocate an entire virtual machine as needed to provide "infrastructure as a service (IaaS)" service. It allows users to provide their own operating system kernel, basic operating system software, any user-level software and applications they want to run, and the IaaS system is responsible only for providing physical resources and instantiating users ' virtual machines. The special thing about the IaaS that eucalyptus implements is that it is designed to be installed and maintained in a research environment for easy modification, experimentation, and scaling. The commercial cloud computing infrastructure uses these capabilities to control the configuration of local resources such as hardware versions, operating system versions, networking, and storage policies, and to access potentially expensive resource sets. Under the research environment, the cloud computing infrastructure cannot impose a specified configuration for all of its hardware and software, nor can it assert a large set of available resources to ensure system performance. A typical IaaS system has a specific infrastructure that does not use scalability and portability as a design goal, nor does it make convenience management The primary goal of design. Aggregating multiple computing resources into a single resource pool increases the difficulty of designing cloud computing systems, and few open source software packages can be installed and deployed on multiple computing clusters and collaborate and perform tasks with each other. As a result, eucalyptus is a unique example of IaaS and a pioneer in future multiple-cluster open source design.
IaaS is not the only way for the current business sector to achieve cloud computing [22], such as Amazon and Google, respectively, via S3 (simple Storage service, easy storage services) and app Engine Daas (Data as a service , data is a service) capability that allows users to access and store large amounts of data from the computing resources provided. Google's App engine also abstracts language layers to provide PAAs (Platform as a service, platform-as-services). In addition, companies such as Salesforce provide SaaS (Software as a service, software as services). Eucalyptus chose IaaS as a design idea for two reasons. First, Amazon's EC2 may be the most commercially successful cloud computing system in the world, and EC2 is the IaaS. Eucalyptus uses a compatible interface with EC2, which makes it possible to test the relatively sophisticated commercial cloud computing system, using IaaS to make Eucalyptus reference EC2 in the design and testing process. Second, abstract high-level cloud computing, at least conceptually, relies on similar iaas capabilities, and for further research and deployment of Open-source software, cloud computing systems including IaaS will be necessary and beneficial.
1.1.2 Architecture
eucalyptus</