Cloud computing is the process of using online applications, which are hosted on servers in data centers to manage and process data. As such, cloud computing is made for the user of the online applications, the application itself, and the server in the data centers from which the applications are hosted. This concept of making available the applications for the users has come to be known as Software as a service (SaaS). The cloud refers to the hardware components and the software that run them in the data centers.
Clouds could be divided into two segments, including the private clouds and public clouds. Public clouds are the cloud services made available to the public by the various cloud providers and the services being offered referred to as utility computing. On the other hand, a private company or organization sets up private clouds for its own use. The recent popularity of cloud computing could be attributed to three key characteristics. The unlimited capacity when needed, services can be acquired in short periods as required, and cloud computing requires no costs up front. Cloud computing has been made possible through the utilization of economies of scale. Enormous data centers are setup in cheap environments with only the necessary requirements for their operations. In return, various factors like low cost of power, bandwidth, hardware, as well as software availability have enabled cloud-computing providers to offer services at a lower price and still make significant profits at the same time. In this sense, it is clear that private clouds do maximize the full potential that comes along with cloud computing (Siegele, 2008).
The flexibility that comes with cloud computing is a big stride in the information technology sector. The ability to pay only for what you have used indicates the benefits of cloud computing. People may argue that the cost of purchasing a server is cheaper than acquiring cloud services, but this cost is overshadowed by the financial advantages of elasticity as well as the aspect of transferring risk transference, which comes with cloud computing. In addition, the time, effort, and absence of advance costs allow the same to be channeled to other sectors (McCalpin, 2009).
Cloud computing still faces various challenges. One of the challenges making companies withhold from adopting cloud computing is reliability. Organizations are not sure whether utility computing services will always be available. In addition, major SaaS providers like google have set the bar quite high such that cloud providers are expected to be 100% reliable, which is difficult to reach or maintain. Even though data centers may be distributed in different locations, while they share infrastructure, a minor failure affects the whole system. The application program interfaces for data storage in cloud computing is yet to be fully standardized, which makes it relatively hard for users to extract their programs and information from one site to the other with ease. This is only advantageous to cloud providers, but customers are exposed to different inconveniences like price fluctuations as well as reliability issues.
In fact, security is another major issue facing cloud computing. The organizations as expected, may not fully be willing to entrust vital information to cloud providers, although many steps have been taken to counter this aspect. Additionally, there is the complication of regulations and audit requirements that the corporate data must go through before it can be legally allowed to be transferred to the cloud. Large corporations at times require transferring a considerable amount of data. However, despite the technology advancements, this data, which is mostly in terabytes, is quite large, and may take a lot of time to transfer. Cloud providers also charge per quantity of data transferred, which may prove to be quite costly. One method that has been adopted recently is the shipping of physical disks to the required destination. It has proved to be quite efficient. Another drawback of cloud computing is their unpredictability which makes reliability more of a problem (Armbrust, Fox, Griffith, Joseph, Katz, Konwinski, Zaharia, 2010).
It is clear that cloud computing continues to grow. The challenges that present themselves also have ways of countering them, and there is hardly any challenge that can be singled out as completely impossible to counter. In essence, organizations of different sizes are set to benefit from it due to the efficiency that comes with the cloud-computing model.