Existing cloud infrastructure is a composition of large-scale networks of data centers spread across the globe. In recent years, novel applications, such as the Internet of Things, augmented reality, autonomous vehicles, etc. have proliferated the Internet.
The majority of such applications are known to be time-critical and enforce strict computational delay requirements for acceptable performance.
Cloud computing refers to the delivery of hosted services that are made available over the Internet. Cloud computing relies on sharing computing resources to handle applications.
Cloud computing is a set of forms that contain certain elements that allow for on-demand, network access, scalability, and shared resources. It's a platform for managing, storing, and processing data online through the Internet.
Computer resources are consumed as a utility such as electricity rather than having to build and maintain in-house computing infrastructures.
Some of the cloud computing features include the following:
Cloud computing provides different services based on three delivery configurations. When they are arranged in a pyramid structure, they are in the order of SaaS, PaaS, and IaaS.
This service provides on-demand pay per use of the application software for users and is independent of a platform. You do not have to install software on your computer, unlike a license paid program. Cloud runs a single occurrence of the software, making it available for multiple end-users allowing the service to be cheap. All the computing resources that are responsible for delivering SaaS are completely managed by the vendor. The service is accessible through a web browser or lightweight client applications.
End customers use SaaS regularly. The most popular SaaS providers offer the following products and services:
Microsoft Office 365, SalesForce, and the Google Ecosystem which includes Gmail, Google Docs, and Google Drive.
This service is mostly a development environment that is made up of a programming language execution environment, an operating system, a web server, and a database. It provides an environment where users can build, compile, and run their programs without worrying about a hidden infrastructure. You manage the data and application resources. All the other resources are managed by the vendor. This is the realm for developers. PaaS providers offer e.g. the following products and services:
Amazon Web services, Google App Engine, Windows Azure, and Heroku
This service provides the architecture and infrastructure. It provides all computing resources but in a virtual environment so multiple users can have access. The resources include data storage, virtualization, servers, and networking. Most vendors are responsible for managing them. If you use this service, you are responsible for handling other resources including applications, data, runtime, and middleware. This is mostly for SysAdmins. IaaS providers offer the following products and services:
Amazon EC2, Go Grid, and Rackspace.com.
The table below describes the responsibilities between the vendor and the customer based on the cloud service models.
The cloud deployment model specifies the type of cloud environment which is primarily distinguished by ownership, access, and size. The deployment model influences the reliability, scalability, security, and cost. There are four primary cloud deployment models as we can see in the table below.