Cloud Simulation and OpenStack by Rohit , Morris and Swapi

INTRODUCTION:

For the past few years there is a significant development in the distributed processing of information, based on the existence of wide variety of computing environments and platforms. This rapid development of technology has provided the foundation for the development of more flexible architectural models and concepts such as grid computing and cloud computing.
Cloud computing is a dynamic model in which cloud service providers could sell or resell services to their customers. The dynamics of this model is determined by the fact that the customer uses the service only when needed, and pay only for the period of its uses. Hence there is the need to maintain high quality resources and availability of the provided services.
The quality of the cloud-based services is influenced mainly by the performance of services and the allocation policies used to provide the necessary resources. The evaluation of the performance and the resource allocation policies in a real cloud environment (such as Amazon EC2, Microsoft Azure, Google App Engine) is extremely difficult to achieve because of the following reasons:
·       The costs for renting such large-scale cloud environment would not only be hefty but the whole process would be time-consuming.
·       It takes considerable amount of time to reconfigure the parameters which are evaluated in the environment.
·       Different cloud infrastructures have different requirements regarding delivery models, system size and resources required.
·      Cloud customers have heterogeneous and demanding requirements regarding various aspects of quality of received services (QoS).
·      Implementation and delivery of the services strongly depends on the performance of the cloud infrastructure, current workload and the possibility of scaling. 
     The solution to these problems is to use the simulation tools. These instruments allow you to evaluate hypothetical tests in a controlled and repeatable environment, where the results can be easily reproduced.

Some of the commonly used Cloud Simulation platforms are described below:-


CloudSim

CloudSim is the most popular open source Java-based simulation platform available for cloud computing environment. It was introduced at CLOUDS Laboratory, University of Melbourne, Australia.

GridSim is one of the building blocks of CloudSim. Initial releases of CloudSim used SimJava but in the current release, the SimJava layer has been removed in order to allow some advanced operations that are not supported by it.

With CloudSim, researchers can model and simulate the cloud infrastructure and analyze the performance of the application service in a repeatable and controlled environment. The developed models can then be implemented in real-world cloud environments. Many researchers and academicians around the world are using CloudSim for the development of more advanced simulators.

Main features of CloudSim are:
      
 1. Simulation of large cloud environments, including data centers on a single physical compute node.
                 2. Very less time and efforts are required for the implementation of cloud computing environments.      
           3. Enables modeling and simulation of large data centers.
          4. Allows developers to create heterogeneous environments and analyze the performance if applications running on it.
          5. Provides flexibility to allocate different processing cores to virtualized services by sharing time   and space.  
      6. Support dynamic inclusion of simulation elements.


CloudSim architecture:

CloudSim has a three-layered architecture as shown in the below figure.


User Code layer:

This topmost layer deals with the implementation of user requirements such as considering number of machines, assigning hosts to VM etc. This layer provides users with the ability to change parameters and generate new configurations of the application; perform tests on cloud-based environment based on custom configurations; comparison and evaluation of techniques for allocating resources for clouds and federation of clouds.

CloudSim simulation layer:

This layer includes dedicated interfaces for resource allocation such as CPU, RAM memory, storage and network bandwidth. A Cloud provider, who wants to study the efficacy of different policies in allocating its hosts, would need to implement his techniques and algorithms at this layer.

CloudSim core or Simulation Engine:

The lowermost layer of CloudSim architecture is responsible for handling events and for the creation of CloudSim objects such as hosts, virtual machines, data centers, brokers and others.

OpenStack

OpenStack is basically a cloud operating system that handles and manages large collection of computation, storage, and networking resources throughout a datacenter, all controlled through APIs with proper identification mechanisms.

Also, a dashboard is available thus giving administrators control while enabling their users to provision resources through a web interface.
Beyond standard infrastructure-as-a-service (i.e. IaaS) functionality, additional components provide the users with orchestration, fault management and service management amongst other services to ensure high efficiency and availability of user applications.
OpenStack landscape:
OpenStack is broken up into services allowing us to plug and play components depending on our needs. The Openstack map gives us an “at a glance” view of the Openstack landscape to see where those services fit and how they can work together.



OpenStack software:
OpenStack software manages large pools of compute, storage, and networking resources throughout a datacentre, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprises and open source technologies thus making it ideal for heterogeneous infrastructure.

Hundreds of the world’s biggest brands rely on OpenStack to execute their businesses every day, reducing costs and helping them move faster. Having a strong ecosystem, the users seeking commercial support can choose from different OpenStack-powered products and services in the Marketplace.

The software is built by a thriving community of developers, in collaboration with users, and is designed in the open at the OpenStack Summits.


Reference links:

A Critical Review & Analysis of Cloud Computing Simulators by Mandeep S. Bhatia and Manmohan Sharma (https://www.ijltet.org/journal/14686501686.pdf).

Simulation of Cloud Computing Environments with CloudSim by D. Atanasov and T. Ruskov (https://www.researchgate.net/publication/324927361_Simulation_of_Cloud_Computing_Environments_with_CloudSim).




Comments