Over a million developers have joined DZone.

The Evolution of Cloud Computing

· Cloud Zone

Build fast, scale big with MongoDB Atlas, a hosted service for the leading NoSQL database on AWS. Try it now! Brought to you in partnership with MongoDB.

Cloud computing is a process that entails accessing of services, including, storage, applications and servers through the Internet, making use of another company's remote services for a fee. This enables a company to store and access data or programs virtually, i.e. in a cloud, rather than on local hard drives or servers. 

Cloud computing has its roots as far back in 1950s when mainframe computers came into existence. At that time, several users accessed the central computer via dummy terminals. The only task these dummy terminals could perform was to enable users access the mainframe computer. The prohibitive costs of this mainframe devices did not make them economically feasible for organizations to buy them. That was the time when the idea of provision of shared access to a single computer occurred to the companies to save costs. 

In 1970s, IBM came out with an operating system (OS) named VM. This allowed for simultaneous operation of more than one OS. Guest Operating Systems could be run on every VM, with their own memory and other infrastructure, making it possible to share these resources. This caused the concept of virtualization in computing to gain popularity. 

The 1990s witnessed telecom operators begin offering virtualized private network connections, whose quality of service was as good as those of point-to-point (dedicated) services at a lesser cost. This paved way for telecom companies' to offer many users shared access to a single physical infrastructure.

The other catalysts were grid computing, which allowed major issues to be addressed via parallel computing; utility computing facilitated computing resources to be offered as a metered service and SaaS allowed subscriptions, which were network-based, to applications. Cloud computing, therefore, owes its emergence to all these factors. 

The three prominent types of cloud computing for businesses are Software-as-a-Service (SaaS), which requires a company to subscribe to it and access services over the Internet; Infrastructure-as-a-Service (IaaS) is a solution where large cloud computing companies deliver virtual infrastructure; and Platform-as-a-Service (PaaS) gives the company the freedom to make its own custom applications that will be used by all its entire workforce. 

Clouds are of four types: public, private, community, and hybrid. Through public cloud, a provider can offer services, including storage and application, to anybody via the Internet. They can be provided freely or charged on a pay-per-usage method. 

Public cloud services are easier to install and less expensive, as costs for application, hardware and bandwidth are borne by the provider. They are scalable, and the users avail only those services that they use. 

A private cloud is referred to as also internal cloud or corporate cloud, and it called so as it offers a proprietary computing architecture through which hosted services can be provided to a restricted number of users protected by a firewall. A private cloud is used by businesses that want to wield more control over their data.

As far as the community cloud is concerned, it is a resource shared by more than one organization whose cloud needs are similar. 

A combination of two or more clouds is a hybrid cloud. Here, the clouds used are a combination of private, public, or community. 

Cloud computing is now being adopted by mobile phone users too, although there are limitations, such as storage capacity, life of battery and restricted processing power. 

Some of the most popular cloud applications globally are Amazon Web Services (AWS), Google Compute Engine, Rackspace, Salesforce.com, IBM Cloud Managed Services, among others. Cloud services have made it possible for small and medium businesses (SMBs) to be on par with large companies. 

Mobile cloud computing is being harnessed by bringing into existence a new infrastructure, which is made possible by getting together mobile devices and cloud computing. This infrastructure allows the cloud to execute massive tasks and store huge data, as processing of data and its storage do not take place within mobile devices, but only beyond them. Mobile computing is getting a fillip as customers are wanting to use their companies' applications and websites wherever they are. 

The emergence of 4G, Worldwide Interoperability for Microwave Access (Wimax), among others, is also scaling up the connectivity of mobile devices. In addition, new technologies for mobile, such as, CSS3, Hypertext Markup Language (HTML5) hypervisor for mobile devices, Web 4.0, etc. will only power the adoption of mobile cloud computing.

The main benefits of using cloud computing by companies are that they need not buy any infrastructure, thus lowering their maintenance costs. They can do away with the services used when their business demands have been met. It also gives firms comfort that they have huge resources at beck and call if they suddenly acquire a major project. 

On the other hand, transferring their data to cloud makes businesses share their data security responsibility with the provider of cloud services. This means that the consumer of cloud services reposes lot of trust on the provider of those services. Cloud consumers control on the services used is lesser than on on-premise IT resources.

Now it's easier than ever to get started with MongoDB, the database that allows startups and enterprises alike to rapidly build planet-scale apps. Introducing MongoDB Atlas, the official hosted service for the database on AWS. Try it now! Brought to you in partnership with MongoDB.

java,opinion,cloud,cloud computing

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}