For years, business managers have been struggling with a question whether to adopt cloud computing as a way of managing organization data. This process provides better control, although it can be uneconomical and complicated to implement it. Cloud computing is a new solution for ever emerging issues in business context using internet to rely on the information and communication technology services. Those people argue in favor of cloud computing and state that it is much cheaper, flexible, and more efficient than parallel computing. However, computing technology has a downside regarding the credibility of cloud computing usage. There is always lingering questions whether this type of computing technology provides an appropriate solution for data management problem. In addition to the cost, there are other disadvantages associated with clouding computing which include but not restricted to inflexibility, technical issues, and possible downtime. Moreover, cloud computing is accompanied by the risks that include but not limited to security problems, susceptibility to hacking, etc. Therefore, security is a significant factor considering cloud computing as a way of managing organization data due to the integrity issues. It follows that it is very difficult to choose a supplier of cloud story space as the market is still new, and it is in its threshold of emerging as a data management platform. This paper seeks to predict the future cloud systems by evaluating the present systems in terms of strengths, deficiencies and potential opportunities of these systems in the future.
Definition of Cloud Computing and Its Context in Future
The concept of cloud computing is a relatively new axiom, but its basic principles are not novel. There exist various interpretations and definitions of “cloud computing”, especially of the word “cloud”. With specific respect to the different usage scopes the terms are employed to, there is an attempt to provide a representative set of interpretations and definitions as recommendation towards future applications of the cloud computing research. Therefore, “cloud” can be defined as an elastic implementation environment of resources consisting of multiple stakeholders and giving a metered service at manifold granularities for a particular level of quality . Alternatively, clouds in this context are viewed as primary platforms that permit their implementation in different forms using myriad of resources (and imminently across enterprise boundaries). There are different types of clouds with distinguishing characteristics that in a way or two enhance services and resources with extra capabilities involving elasticity, manageability and even system platform independency. More specifically, a cloud can be perceived as an infrastructure or platform that facilitates implementation of code such as applications and services in an elastic and managed fashion. The term “managed” implies that reliability is automatically ensured according to the pre-determined quality parameters. Moreover, “elastic” means that the resources are utilized with respect to actual current requirements relative to overarching requirement characterization, namely implicitly. Therefore, elasticity involves up and downward measurability of data and resources, as well as data throughput load-balancing.
Types of Cloud and Their Characteristics
In spite of maturity and technological development accomplished, it is nonetheless incredible that cloud computing systems still lag behind their potentials. There are numerous justification for this deficiency, moderately emerging from the wrong anticipations from marketing – more so in cases where terminologies are easily misrepresented in various domains such as high performance. In addition to this, cloud computing systems inherit deficiencies from its associated internet domains, so that it is by and large unfair to evaluate it by standards that are not even accomplished at lower levels. However, cloud service providers are promising high availability and reliability that are still facing major problems emanating from Information Technology. For this and among other reasons, cloud providers find themselves in the media attention because of high number of users becoming affected. For example, the Google Gmail reset and the Amazon CLOUD outrage (2011).
For this reason, future cloud systems should have the capability of maintaining a pre-determined level of quality, with respect to boundary conditions, energy consumptions, and performance. In addition, future cloud systems should also allow integration of resources within organization boundaries and even integrating stakeholders. Most notably, the specific details of the abilities differ faintly regarding the method through which cloud is used. It is important to note that cloud is oriented more to usage concept than to a technology. For this reason, the concepts of clouds have been applied in many different areas. Thus, it is necessary to differentiate various capabilities provided by the cloud computing systems.
New Achievements of Cloud Computing
It is important to know that cloud computing concepts were derived from grid computing. Cloud computing often overlaps with grid computing technology or what is known as distributed computing definition. With end-user’s perspective, there is low interest in cloud computing of really what “behind the scene” is, as opposed to the system administrators who usually virtualize servers and lever applications in cloud. Therefore, grid computing refers to an infrastructure upon which cloud computing depends. However, there are similarities and differences between grid and cloud computing technologies. Both technologies guarantee scalability and sharing of resources to the end users. The differences arise when analyzing the computing model, the security or visualization, and data management. Grid computing facilitates resource sharing and provides harmonized problem-solving in virtual, dynamic organizations. With a view of computing model, grid computing employs batch computation and through batches there are recognized users and predetermined number of required processes, as opposed to cloud computing that functions by sharing resources among the users concurrently.
Therefore, the structure of data management is very significant as it provides a framework through which data management is implemented with fast data retrieval. Additionally, Grid computing employs dataware schedulers, but cloud computing is challenged by data handling capabilities from applications. Cloud computing makes use of encapsulation and virtualization, whereas grid computing use grids to control resources without encapsulating and virtualizing them. Considering security model, there is imminent problem in cloud computing. For this reason, the data uses desires to control their own private keys, but cloud computing does not offer that capabilities. However, the resources of grid computing are heterogeneous and autonomous. Therefore, the security aspects of grid computing are a guaranteed in the infrastructure.
5.0: Analysis of cloud computing systems
5.1: Cloud computing services
Most significantly, cloud providers primarily focus on just one form of cloud functionality provision which is Platform, Infrastructure or Application/Software, although there is imminently no restriction to provide multiple forms concurrently. This can be seen in providers of PaaS (Platform as a Service) who provide specific applications such as Google App Engine together with Google Docs. As a result of this combinatorial capability, these forms are usually regarded as “components”. However, publications and literature characteristically differ faintly in the terminologies used. This is due to the reality that some applications areas usually overlap, and this makes it hard to distinguish. For example, the platforms which offer indirect access to the resources are mostly confused with infrastructures.
5.2: Types of Cloud computing systems
Currently, there are various types of clouds in use. One example is Infrastructure as a Service (IaaS). These are also known as Resource Clouds and provide (scalable and managed) resources as services to the cloud computing users. In other words, Resource Clouds ensure improved virtualization capabilities. Additionally, various resources may be offered through a service interface, such as Data & Storage Clouds, that deal with reliable accessibility to data of imminently of dynamic size and weighing resource usage with a characteristic access requirements, as well as quality definition. The examples include but not restricted to SQL Azure and Amazon S3. Therefore, Compute Clouds give access to computational resources such as CPUs (Central Processing Units).
It is difficult to exploit such low-level resources on their own, so that they are characteristically exposed as a component of “virtualized environment” such as hypervisors. Thus, the providers of Compute Cloud usually provide the capability to access the computing resources that are virtualized to enable execution of cloudified applications and services. In other words, the providers of Compute Cloud offer raw accessibility to the resources, as opposed to PaaS that provide complete software package to create and develop applications. Infrasructure as a Service (IaaS) provides extra capabilities over a simplified computing service. Examples of IaaS include Zimory, Amazon EC2, and Elastichosts. On the other hand, Platform as a Service (PaaS) offers computational resources through a platform upon which the services and applications can be created, developed, and hosted. Therefore, it is worth stating that PaaS employs a dedicated APIs to manipulate and control the functioning of a server hosting engine that implements and replicates a particular execution. As a matter of fact, each provider of cloud computing exposes his or her own API relative to key capabilities and, therefore, the applications established for one particular cloud provider cannot be transferred to another cloud host. However, there are recent attempts to extrapolate generic programming models that exhibit cloud capabilities, for example, MS Azure, Google App Engine, Force.com, and Windows Azure (Platform).
Equally important, Software as a Service (SaaS) offers executions of specific business functions and processes that require specific cloud capabilities. In other words, Software as a Service provides services or applications using cloud platform or infrastructure, instead of providing cloud functionalities themselves. SaaS are also known as Application or Service Clouds. Usually, a form of software functionality of a standard application is provided within a cloud. Examples of clouds with a form of software functionality include Google Docs, SAP Business Design, and Salesforce CRM. In general, cloud computing is not limited to Platform/Software/Infrastructure as a Service systems, although it offers improved capabilities that function as enablers to these systems. Therefore, cloud computing systems are a promising way to execute these models and develop them to the higher levels.
6.0: Analysis of Advantages of Cloud Computing
Cloud computing has several preferences when it relates to applying it in telemetry applications. Therefore, cloud computing for businesses as a data management has the following advantages:
6.1: Cost Efficiency
It is important to note that cloud computing is possibly the most cost efficient approach to employ, maintain, and upgrade as compared to conventional desktop for which the same process was very costly to the companies, especially in the department of finance. In addition, the users of conventional desktop software were required to pay licensing fees, and that fact made the software very expensive. On the other hand, the cloud is available at relative low rates and also lowers the IT expenses of the company. In addition, cloud offers scalable options such as pay-as-you-go and one-time-payment which makes it adaptable for many companies. Furthermore, cloud computing lowers the operating costs for SMEs (smaller firms) that have intentions of adopting computing-intensive techniques.
6.2: Nearly Unlimited Storage
As noted earlier, cloud has an element of elasticity which implies that storage capacity is very enormous. It is like ever-stretching “cloud” that expands as it accommodates more data. Therefore, from organizational point of view, cloud offers almost unlimited storage capacity as far as storing information is concerned.
6.3: Backup and Recovery Benefits
Most notably, all data of organizations are usually stored in the cloud space. Therefore, it is relatively easier to back up the information and restore it in the cloud than the same data stored on a physical system such as hard disk. In addition, the providers of cloud services are usually involved when it concerns the recovery of information stored in the cloud. Therefore, the process of backing up and recovery of data is much simpler in cloud than the conventional methods of storing data.
6.4: Automatic Integration of Software
In cloud computing, software integration occurs automatically. This implies that the users of cloud are not required to integrate and customize their applications in accordance with their preferences as this occurs automatically.
6.5: Easy Access to Information
Upon registering in the cloud, the users can access their space in the cloud from anywhere, provided that there is internet connection. This is a convenient feature that allows the users to move beyond geographical locations and time zone issues.
6.6: Quick Deployment
This is a good advantage of cloud computing. Once an organization adopts cloud system, it becomes operational in few minutes. However, the amount of time taken to deploy cloud system depends on the type of technology that the business requires.
6.7: Easier Scale of Services
Through cloud computing technology, it is much easier for an organization to scale their services with respect to the clients’ demand.
6.8: Deliver of New Services
It is important to note that cloud hosts new categories of applications that make it easier for the organization to deliver new services which are interactive in nature.
7.0: Analysis of risks of Cloud Computing
Although there are numerous advantages of cloud computing, there are also some disadvantages. Most significantly, smaller businesses need to be aware of the following issues before adopting cloud computing technology. The major risks in this technology include the following:
7.1: Technical Problems
Despite the fact that data and information on the cloud can be easily accessed from anywhere and at any time, there are those moments when the cloud system experiences serious malfunction. Therefore, it is important for the businesses to be aware that cloud system is vulnerable to outages and other technical problems. Even the most competent providers of cloud services experience this challenge, despite adopting maintenance standards.
The major overarching issue of cloud computing technology is security. Therefore, users of cloud need to know that they are surrendering all sensitive organization information to a third party. This undertaking places an imminent risk to the company. Therefore, the managers of the businesses should ensure that they select the most reliable provider of cloud service for the purpose of ensuring that the information is completely secured.
7.3: Prone to Attacks
Since cloud storage processes involved online transfer of data, this process is much susceptible to the external attacks and threats from the internet hackers. This can lead to the loss of valuable information. In addition, threats involve the hackers preventing authorized users from accessing the cloud service. Also, threats include loss of privacy.
When an organization chooses to adopt cloud systems, they restrict their business to the same format or propriety applications. This means that there is no flexibility while switching between the applications in the cloud. For example, it very difficult to store a document in Google Docs spreadsheet prepared in another application.
8.0: Performance Achievement with Cloud Technologies
The cloud computing has the capability of proving the users easy access to customized virtual machines, where the payment is usually done with resources used and efficiently allocated. Using cloud computing technology, the companies benefit from it as they can outsource data infrastructure. Furthermore, information and data can be accessed anywhere from cloud space. Therefore, better performance is accomplished in the context of cloud technologies with parallel computing. For this reason, applications that experience latencies can solve their deficiencies through proper utilization of technologies such as Dryad and Apache Hadoop as well as MapReduce. However, complex applications with higher performance expectations require customized network settings (Message Passing Interface, MPI), communications paradigms that are used to execute parallel applications.
The implications of MPI for virtualized resources may be analyzed through its execution. Therefore, the performance achievement analysis means that there is greater understanding of the complicated process of applying the MPI and its effects on the cloud resources. It is important to note that MPI sustains input/output operations, point-to-point and collective communication. Therefore, MPI improvements of the application emphasize more on processor mapping from the clusters. The Central Processing Units evaluation may provide benchmarks concerning this aspect. Considering the view of performance, there is a potential comparison of various characteristics or features of parallel computing techniques. There are different programming languages that can be used in the development of MPI. These include but not restricted to Java and c#, as well as C++ programming language. On the other hand, Dryad requires DryadLINQ and C# language, whereas Hadopp and MapReduce use Java as their major programming language. Therefore, data management is guaranteed by Dryad, MapReduce and MPI through the use of directories, local discs, and shared files, whereas Hadopp data management is done through HDFS. Additionally, communication in MapReduce is accomplished through a distribution network, whereas in Dryad and MPI communication is provided through TCP pipes and files. The failure in each technique is rectified with regard to the type of technology in use. For example, the MPI takes use of OpenMPI in case of failure, while Dryad’s failure is handled through re-execution of maps. Therefore, these cloud technologies facilitate the means through Big data is maintained and various processes utilized in case of failures. This is the powerful performance of cloud computing technologies.
9.0: The Future of Cloud Computing
9.1: Virtualization, Elasticity and Adaptability
The virtualization techniques have enhanced comparably over the recent years, but the additional problems have arose with the emergence of cloud computing systems which have not been satisfactorily solved before; more so with the issues related system elasticity, manageability as well as interoperability and control of resources . System elasticity involves vertical up-scaling and down-scaling as well as horizontal and down-scaling. Therefore, the future of cloud computing depends on the suggestion that there is a need for configuration changes of data or service through the setup of the existing resources based on their capacities and capabilities. In addition, there is a need for the infrastructural changes in order to provide one that takes full advantage of virtual environment without affecting the hosted capabilities and capacities. For example, when a CPU is appended to virtual computing machine, the running codes should utilize the added resource (CPU) without restarting. This observation is associated with the concern of resource control and programming tools. There is a need for improved scheduling mechanisms that considers the multi-tenancy aspect when providing efficient elasticity that has capability of respecting green requirement. Virtualization of the cloud computing should consider the human factor to increase the extent of interaction with cloud computing systems. In addition, there is need to increase connectivity to make these systems ingrate with human beings not only as users of cloud systems, but also as an additional resource that can give services, data, and capabilities. Currently, there is little support for cross-platform implementation and migration which worldwide cloud structures require. The movement of applications between cloud structures, for example, private to public cloud or reverse, is a major issue that is not yet supported by the existing cloud systems. Therefore, this is an area of interest that needs to be fixed in the nearest future.
9.2: APIs, Programming Models and Resource Control
Most notably, cloud virtual machines are established to operate in a fixed environment, hence permitting horizontal scalability better than what is known as vertical scalability. However, it is essential to note that future systems will be required to exhibit high levels of flexibility while adapting netter capacities, requirements, and green issues. Additionally, there is a need for granting a highly fined control over aspects such as data distribution to the developers for the purpose of addressing legislation concerns, but also to exploit particular code requirements.
Additionally, cloud systems provide improved features and capability, including dynamically scalable data and applications, controlled distribution and integration of all resources including users (human beings). To exploit these features exhaustively in the future, the development of improved services and applications should be done in an intuitive and easy fashion form for common cloud users, while allowing the extended control for advanced users. In order to promote such improved control features, it is imperative for the cloud systems to provide new methods of managing infrastructure and resources while observing other factors such as quality of services, customer specifications, and the green agenda. However, this means that future cloud computing will remove the classical layered model. The reason is that the classical layered models do not comply with experimental outcomes. Therefore, the creation of new “cloudified” apps has to ensure that there is application mobility across the network, facilitating wide distributed implementation and communication models that are within and between apps. It is anticipated that the cloud apps will be intensively used by many users and tenants than non-cloud apps which are referred to as “long tail,” In this case, customizability is a very important component of the outset.
9.3: Government, Legislation and Policies
The legislation issues are not only applied to data, but also applications and services, more so concerning their licensing. It is significant to note that legislation concerns emerge due to the fact that different nations have different laws depending on the data type allowed and the location of the hosted data. Thus, with cloud system fundamentally hosting code or data in any location within the distributed infrastructure (or anywhere globally), the new legislation frameworks have to initiate or even new ways to address legislative constraints presented during distribution of data. Due to increasing interests in protection of consumers, especially issues regarding infringement of right to privacy, the government will need to be more involved in the control of the operation of the cloud computing systems. For this reason, the governance of computing systems requires to be more transparent to the real users of their services in order to address issues of privacy and other issues regarding business requirements. Additionally, governance solution can also improve the selection of vendors that provides open-source solutions, thus avoiding vendor lock in.
9.4: Economic Concerns
In order to establish cloud computing infrastructure, huge amounts of resources must be available as this kind of investment requires sufficient capital (Antonopoulos & Lee 348). However, cloud computing as a business becomes very complicated to calculate profits as it is almost impossible to approximate the cost of services offered to the customers. Therefore, it is very hard for an investor to make investing decisions as it is extremely difficult to estimate the rate of return on investment. Presently, investors are more concerned about making and maximizing profits in order to realize the returns on their investment. Therefore, cloud computing may collapse in future as no one will risk his investment in a business where it is difficult to calculate the profit one is getting from such huge investment.
9.5: Green IT
The cloud systems will soon gain popularity in the world as it is a 100 % green technology and energy-efficient. Therefore, huge cloud infrastructures are expected in the nearest future as the entire world is green.
Conclusively, while cloud computing systems have proved to be great investment for the companies, it can also cause great harm when it is not well understood. Cloud computing is now regarded as an opportunity for SMEs (small and medium-sized enterprises) as they can enjoy numerous benefits of IT data management while evaluating limitations of cloud computing such as security and threats issues.