The modern technology world has slowly seen traditional services make the shift to entirely cloud based software and hardware, otherwise known as cloud computing. The definition of cloud computing provided by a NIST publication (National Institute of Standards and Technology) is a model focusing on enabling convenient and on-demand access through networks to a pool of traditional computing resources, including networks, servers, storage, applications and services; The full definition and publication can be found here. Modern cloud computing is defined by its numerous service models Infrastructure as a service, Platform as a service, Software as a service, Mobile “back-end” as a service, Server-less computing and Function as a service.
Cloud Computing saw its beginnings in the 1960s and 1990s, primarily with RJE(Remote Job Entry) in the 60s and VPN (Virtual Private Network) services in the 90s. RJE focused on storing data on a “cloud” to submit jobs to operators, while the VPN focused on accessing network infrastructure through the cloud to improve network bandwidth. In the beginnings of the second millennium, cloud computing as the world knows it was born from Amazon subsidiary Amazon Web Services and the Elastic Computer Cloud in 2006. 2008, Google entered the market with the Google App Engine and NASA released the OpenNebula software (OpenNebula eventually developed into OpenStack in 2010). The focus currently was Infrastructure as a service, providing storage for clients, and Platform as a service, allowing IT companies to test programs in software independent from hardware.
The primary characteristics are numerous and include benefits compared to traditional computing. The characteristic that most businesses love is the cost reduction of cloud computing compared to the previous way of doing things. Software and platforms that are purchased for use on a cloud computing service can be used right away as they are pre-configured, which saves labor costs that would normally be used to set up a piece of software or hardware. Another cost reduction from cloud computing is related to the fact that maintenance is typically provided through the company offering the service, this lets businesses focus on using the software and/or hardware instead of maintaining it. Cloud computing is also significantly cheaper than the outright purchase of high-end hardware or advanced software and because it is usually offered in a subscription model, can be canceled when unnecessary.
Other characteristics that elevate cloud computing above traditional systems is that security is handled by the provider, meaning that security costs not only go down, but valuable data is also stored offsite where hackers will not typically find it; Off-site data storage also means that hardware failures and power outages will not result in loss of work. Cloud computing also performs on-par with top-of-the-line hardware (As this hardware is usually used to host cloud computing services) without the hefty price tag, saving costs while also optimizing speeds. Other helpful characteristics include reliability for professionals and device independence, which means that software and/or a PC can be accessed through not only a desktop, but one’s mobile phone, allowing work to be done anywhere.