The term cloud or cloud computing refers to an abstraction of a collection of computers or network used in the delivery of computing and storage capacity. Typically, end users of cloud based services access applications through a web browser while important and integral data are stored in remote locations. This means that users can access the application from anywhere and anytime if connected to the internet. Of course, one of the main benefits to this is the freedom and flexibility of accessible data. The idea of cloud hosting is utilized through web hosting companies that offer cloud computing as Infrastructure as a Service, or simply IaaS. Essentially, it minimizes the need for hardware and application requirements on the user’s end. So for example, a company in the business of hosting already has specific amounts of storage on its servers and all the user has to do is connect to the internet. The user in turn, may utilize the storage for websites and such.
Naturally, cloud computing grew out of the widespread of higher capacity networks, low cost computers and storage devices and increasing use of internet based applications such as social media and email. Aside from this sort of mainstream use, the scientific community utilizes cloud computing for other purposes such as complex computational processes. For example, connected computers in unison perform CPU heavy calculations such as fluid dynamics.
Key characteristics to cloud computing include multitenancy, that is enabling the sharing of resources across a large pool of users. Other characteristics such as cost are exhibited where users need only worry about operational expenditure while infrastructure is provided by a third party. Cloud computing is also seen to be reliable, making it ideal for business continuity.
Cloud computing service is typically offered according to three basic models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The most basic of these service models is IaaS where the provider offers computers as a virtual machine for storage, firewalls, load balancers, and networks. This saves business from actual hardware investments. Next is PaaS, where service providers deliver a computing platform including an operating system, programming language, database and web server. For example, iOS, Android, Java, etc. And finally, SaaS, where service providers install and operate application software in the cloud and users can access the software from a web browser or any other type of cloud clients.