Building Low Cost Cloud Computing Systems

The actual models of cloud computing are based in megalomaniac hardware solutions, being its implementation and maintenance unaffordable to the majority of service providers. The use of jail services is an alternative to current models of cloud computing based on virtualization. Models based in utilization of jail environments instead of the used virtualization systems will provide huge gains in terms of optimization of hardware resources at computation level and in terms of storage and energy consumption. In this paper it will be addressed the practical implementation of jail environments in real scenarios, which allows the visualization of areas where its application will be relevant and will make inevitable the redefinition of the models that are currently defined for cloud computing. In addition it will bring new opportunities in the development of support features for jail environments in the majority of operating systems. Keywords—cloud computing; IAAS; jail environments; optimization; PAAS.


I. INTRODUCTION
The concept of cloud computing is intrinsic to the provision of services and resources over the internet facilitating access to customers regardless the location of where they are and at a lower cost than if they had these resources and services locally [1].
High availability, high performance and loud balancing are terms that become more common in daily practice.Any organization, independently of its size, is dependent of an IT infrastructure and services.In the great majority any failure can mean a loss of business profitability [1].
The last decades have strengthened the notion that data processing can be done more efficiently in large computational clusters and storage systems accessible via the Internet [1].
Since then the applicational models of services in cluster present several variants, presenting even these days, as a huge challenge for service delivery in cloud computing [2].
The growth in usage of cloud computing solutions may be seen frenetic, and physical means applied to cloud computing has grown enormously, to the point that only large companies bearing support this type of implementations.
The current common implementation of clouds is through implementing virtual environments, which can be defined as a emulated software independent computer systems, providing the launch of several devices in parallel, as if they were separate physical machines within one physical machine [3].Other possible implementation is through jails, which can be intended as being the execution of a parallel instance of the operating system itself, isolating a particular area of files, and separating in its environment the respective users and associated processes [4].
This article aims to present a valid alternative to virtualized solutions, allowing to optimize the performance of cloud solutions in terms of resource consumption, enforcing flexibility that certainly in a future will boost redefinition of the implementation models of cloud computing.This document is organized as follows: sections were the problems of cloud computing are highlighted; the concepts of virtualization, virtualized systems, jail services and jail environment are presented; the different resources made available are attended with a comparison between implementations with virtual and jail environments; the tested applicational models with suggested solution are defined; and final the conclusions and future research directions are pointed.

II. CLOUD COMPUTING PROBLEMS
There are several attempts to define cloud computing but none of them is consensual, some are very vague and abstract.Even the definition of the National Institute of Standards and Technology (NIST) defines it as an evolutionary paradigm [5].With the emergence of cloud computing a lot of discussion has been raised about how to define it as a computational model.Models clearly matured have been published and debated and service providers hold a clearly defined model for its products.
Gartner [6] says that tension between the short-term risk and the long-term imperative strategic will define the market development in the next 2 to 3 years.Thus, it can be considered that the current implementations of cloud computing are a business model based on the distribution of services with high availability with load balancing.Three layers support this model, being the layer being made available to users of complete abstraction of the technologies used.Any technology component associated with this type of solution is then hidden, placed in the protocol and infrastructure layers designated protocol as a service (PAAS) and infrastructure as a service (IAAS) respectively.
Offering IAAS requires platforms that can manage the infrastructure shared and stored dynamically, the current models based on the usage of virtual machines by that reason cannot be the future of cloud computing.www.ijacsa.thesai.org

A. Virtualization
Virtualization appeared in the 60s, in order to discharge the large hardware solutions that were the ex-libris at the time of any institution."Mainframe war" was a typical term at the time, between different groups of those solutions providers, struggling with who had the most powerfull machine.IBM and other competitors as BESM and Strela, roamed the markets in search for dominance [3].
Nowadays, the computational capabilities of any common computer, face the same problems of rigidity and underutilization of the 60's mainframes.Achieving the total advantage of the full capacity provided by the hardware is an holistic view, being impossible to obtain with a single system [3].
Since the 90's, several software providers, in particular VMware has developed virtualization solutions for high performance, supporting several platforms [3].
The emerging of large-scale virtualization solutions has overshadowed the development of parallel solutions, which mostly ends up not moving from prototypes.Therefore, it is pertinent to make some reflections on virtualization alternatives, and the reasons why them are forgotten.
With the need of high availability required by the increasing deployment of cloud solutions, it is pertinent to assess whether commercial solutions on the market go against the full needs of customers.

B. Virtualized systems
Virtualized systems are attractive, versatile in some contexts, offering tremendous flexibility of configurations and solutions.However, there are well-known problems which are reflected in the performance and reliability of most of the implemented solutions [3].
Virtualization is not a free concept.Consumption of resources and all the mechanisms for managing them by the provider of virtualized environments is inevitable.Joining these consumed resources with the need of resources required by the operating system for supporting the deployed applications, for most implementations is a difficult scenario to support and the performance of existing solutions will be affected.
Moreover, the concept of independent operating systems, levels of management and maintenance is difficult to obtain, and is often a barrier to the concept of IAAS, which requires isolation.

C. Jail Services
The jail services base their operation on a shared kernel that generates process isolation through concurrent access to devices and resources of the machine, avoiding any kind of virtualization [7].
This concept has originated with the need to implement security requirements such as integrity, privacy and data protection, as well as the need to delegate management functions or administration of certain areas/services implemented [7].
Jail services arised in 1982 by Mr. Bill Joy, with the implementation of the chroot functionality.This solution was developed for open environments and implemented on the concept of virtualization based in processes [4].
The chroot implements jail services in an isolation concept of file structure associated with certain processes that are running on the machine, allowing interaction with other system processes [8].
However the implementation of chroot has some weaknesses, although the visibility is limited to finding its single file system subtree, and the concept of isolation does not extend beyond the file structure, sharing all other elements such as users, and other network devices.

D. Jail Environment
Aiming to fill the gaps in the mechanism chroot, the jail environments arise, which are available from the FreeBSD operating system version 4.2.This new feature is a mix between jail services and virtualized environment.
Poul-HenningKamp, father of the jail environment, based his development on the absorption of the advantages of the two previously mentioned mechanisms, creating a service trapped with insulation concepts of the directory structure, and at the same time doubling the structure of the base operating system, creating a different concept for virtualization and network services [7].
The Jails were developed based on concepts from chroot, analogously implementing the structure of independent directory features but adding insulation at various levels.Each environment jail owns and operates autonomously their services and local settings, regardless of the host where it is implemented.
Oppositely to what may be thought, in terms of administration, the jails do not increase the weight in the administration and management of the system administrator, since despite having local security policies, these can be imported security policies already implemented in the base operating system.On the other hand, maintaining the concept of service imprisoned, administration and management of jails can be made from the base machine, without for that being necessary to access the jail environments.
Two requirements need to be attended when considering jails:  The mechanism of discretionary access control to retain any service;  To each jail is allowed to have a superuser which can locally manage files and processes within the environment.
Each jail has an associated address and a file system independent.The child processes generated in jail environments inherit its structure, lying immediately limited to the environment where they are generated.
To define constraints for each environment the main system administrator can use a configuration set (flags) and control variables (sysctl), which allow changing the working format, www.ijacsa.thesai.orgaccess permissions and security associated with each environment.However, there are options that require careful planning in order to prevent access to administrative functions, such as, among others, the ability to load or disable devices, or interfere with the firewall rules.It is clear that, although the flexibility of the jail environments, there are limitations on access to certain features which must be guaranteed to be secured solution.
The Jail environments are defined by 4 elements:  A root directory -the starting point from which a jail is set;  A hostname -the hostname that will be used within the jail;  An IP address -that is assigned to the jail and cannot be altered in any way after setting up the same;  A command -an executable that allows to provide the jail environment.
There are situations where the usage of imprisoned environments present great asset, especially when referring to the optimization of resources, which quickly translate into solutions for more profitable investments due to the saving in computation load, storage and energy consumption.

IV. RESOURCES AVAILABLE
The mad rush of the leading telecommunications operators to build megalomaniac infrastructures with a view to supporting the solutions marketed has accentuated in recent years, pushed with easy access to the latest hardware at attractive prices, it can become an illusion, and at long term can lead to serious problems of maintenance and administration.
According to David Strauss the models used in current implementations of cloud solutions are outdated, and there is a need to evolve the models to resource optimization, and improved performance of the proposed solutions.The resources required and expended to implement reliable models are huge, and there is a realistic need to reduce that [4].
Since its conception, that the consumption of resources, was always a point to consider in the development of highavailability solutions.Having regard to the use of jails passes to manage processes rather than independent virtual machines, will occur significant differences with regard to this point.System Virtualization -it is a mandatory feature when it comes to virtual machines, non-existent when it comes to solutions based on jails.However, it may resemble the base operating system (FreeBSD), which is a mandatory requirement for the provision of the jail environment.However the differences are huge, can immediately be noted that the dependence of virtualized systems from the hardware emulated software performance as well as the use of additional drivers, causes bottlenecks in the access to real devices.Meanwhile the use of jail environments in concurrent access to the existing devices on the machine where they are configured prevents the existence of any intermediary in accessing them.
Operating System -this must be one of the highest points earned with systems based in jails, because the concept of using the jail environment is the sharing of the kernel resources from the base machine, removing the need for additional resources related to the implementation of a new operating system instance.Thus there has been a saving of significant resources such as: storage, memory and processing load.
File structure -another relevant point is the space required by the file structure of a jail, which is relatively lower than any real operating system installation, as a simplified copy of the basic structure of a system based on FreeBSD, requiring less storage resources Flexibility -The ability to adapt to different situations is important when implementing a solution, and as the virtualized solutions, jail environments provide enormous flexibility, increasing some important features such as the ability to share binary data sharing location via mount points.
The usage of virtual machines and jails environments for virtualization has huge similarities in concepts of isolation, but nevertheless profound differences to the operational level [5].For better understanding, an analogy to the processes and threads running on an existing system is presented.A virtualized environment can be compared to a process, being holder of a wide range of information, but heavy when it is released, at the beginning, at the end and when restored, as well as the amount resources expended.Threads can be compared to jail environments, which are lighter, more flexible and have a faster execution.
Briefly it can be noted that the jail environments are lighter, based from the outset on the fact of sharing the kernel with the base machine, excluding the need of installing a new operating system, having a simplified file structure, with the possibility of sharing binary files, allowing the release of several isolated instances of the same service, such as the launch and the end of such processes at times almost imperceptible and insignificant consumption [5].The consumption of resources continues to be a constant point of discussion within the development teams of the current models, and there is a considerable increase in resources when the start of virtualized environments for supporting cloud computing, causing temporarily instability in the support system, unlike the jail environments, that while having a minimum starting duration not exceeding two seconds and a www.ijacsa.thesai.orgresidual resource consumption.In Table II is shown the resources consumption at the system startup.The use of jail environment increments important advantages in terms of time and disturbance in the base system.A further study is being conducted, and the results and analysis will be presented in the future in another publication.
Note that when the startup of virtualized environments, the resource consumption increases exponentially and may temporarily cause instability in the support system, unlike that jail environments, while having a minimum starting duration (not exceeding two seconds), has a consumption resource imperceptible.With the use of environments imprisoned instead of virtualized environments, it is obtained a drastic reduction in both storage space and in terms of computational resources required, which could reach values close to 50%.

V. APPLICATION MODELS
The Resulting of its adaptability, jail environments are liable to be used in virtually any situation.Fruit of experience in handling some solutions based on jails, and observing the most common types of implementation, there are presented the three groups that tended to be the most advantageous application of such solutions.These models are based on computational models used in the distribution of virtualized services, and applicational models for high availability solutions.

A. Per Service
One of the critical points in systems management is the need of logical and physical structure organization of services to implement, and the related decentralization of management and administrative, presenting itself as a concern the necessity of the existence of multiple users with high credentials for access to the base system, making it a real jigsaw at the implementation level of the safety policies.
Using imprisoned environments, it will facilitate this process by providing the isolation process and responsibilities, allowing to define restricted areas of access, as well as limitations of services and features, providing improvements substances in the implementation of security policy (fig.1).These models are conceived for large and medium companies, which, holding a considerable amount of services, intend to decentralize the delegation of responsibilities by implementing improvements in safety of the available systems.Implementation of jail environments per service.

B. Per User
Similarly to the distribution service, it is possible to envision a host server environment in which every jail is associated space of each user, allowing the implementation or the respective mapping services and data in isolated and secure environment.This approach allows to implement a higher-level control security features assigned, which translates into a more cost effective solution and affordable than the currently existing solutions, also enabling independent settings tailored to the needs of each client concerned.This type of solution allows each user to maintain its placeholder, contracted services and respective settings properly insulated, giving you a greater sense of control and freedom over the system that acquired (fig.2).
It is the ideal solution for many hosting service providers, taking into account the limitations, the level of systems administration, some customers who require proprietary solutions and high flexibility.With this model of service delivery, it is possible to distribute to the user a powerful environment, flexible and insulated, allowing to delegate to him the tasks of monitoring and security management to the administrator of the base system.

C. High availability warranty
Major focus of current solutions include the need to provide high availability of services, and, in most situations, not always present themselves as affordable.The use of jails can make a huge transformation in the concept, allowing the replication of existing jails, or coexisting with other jails environments by configuring sharing binaries or providing access to common areas, across common mount points (fig.3).
The application of jail environments are susceptible to being applied in all high availability scenarios developed so far, making them a huge competitor to the virtualized environments.The authors of this publication intend to do another on the subject of implementing high availability solutions using jail environments.www.ijacsa.thesai.orgThis can be done through jails being replicated redundantly and using protocols that guarantee high availability, such as Common Address Redundancy Protocol (CARP) or solutions such as Heartbeat, aiming to provide high availability solutions at a reduced price and without huge requirements hardware.

VI. DISCUSSION
The Summarizing it can be noted that all models of cloud, have their basis of a structure already established for some time, but it still presents some gaps, despite the many developments in the methodologies of the cloud.
The current jail environments, yet not been considered as substitutes of virtual systems, but certainly will emerge as a major competitor, and these with regard to the optimization of new models.
Carefully analyzing the basic concepts of the cloud model and bearing in mind the features provided by jail environments, it can be believed that a new conception of architecture will be developed, being based on the use of jail environments and taking into consideration its advantages.That matches the required standards of cloud solutions, specifically in the IAAS layer.
There is a vast area in this field of work and development that is still unexplored, as it happened with virtualization, enhancing their use as there appear new developed applicational models, because its concepts fit perfectly with the new trends of the models the cloud.Similar evolution happened in distributed computing between processes and threads, with time threads based implementations proved to be more effective than process based ones and for high performance systems replaced them.
As future research direction is proposed the optimization of resources in the IAAS layer, since it is an area that requires immediate analysis, there much work ahead in defining new models and applicational scenarios to relief the maintenance of cloud computing solutions.It is also proposed a study on the feasibility of high availability models with a view of supporting the 2 top layers of cloud solution model implementing a jail environment.

Fig. 3 .
Fig. 3.Implementation of jail environments for high availability warranty.

TABLE II .
RESOURCE CONSUMPTION AT STARTING BASE SYSTEMS