If someone asks me what cloud computing is, I try not to get bogged down with definitions. I tell them that, simply put, cloud computing is a better way to run your business - Marc Benioff, founder, CEO and chairman, Salesforce.
The term Cloud refers to a network or software that runs on the internet and doesn’t limit it to your local computer. Cloud can provide services on public or private networks such as WAN or LAN. Applications like email, web conferencing, customer relationship management (CRM) and more run on Cloud.
Now that we know the definition of Cloud, let's get onto Cloud computing.
Cloud computing is defined as a mode to enable convenient, on-demand network access to a shared pool of configurable and reliable computing resources like networks, servers, storage, application, services and others, which can be manipulated, configured and accessed remotely.
Cloud computing services offer platform independency, as the software is not required to be installed locally on the computer. This makes Cloud computing platforms the most sought-after service for business applications because it is mobile and collaborative in nature.
The Cloud computing architecture comprises many cloud components, each of them loosely coupled. It can be broadly divided into two parts – Front end and back end.
While front end refers to the client part of the cloud computing system and consists of interfaces and applications that are required to access cloud computing platforms (eg: web browser), back end refers to the Cloud itself. It consists of all the resources required to provide Cloud computing services. It comprises huge data storage, virtual machines, security mechanism, services, deployment models and servers.
The deployment models define the type of access to the Cloud. In simple words, it tells us how the Cloud is located. To understand the deployment models in depth, we must know that there are 4 such types of Clouds:
The Public Cloud model allows systems and services to be easily accessible to the general public. For eg: Google, AppEngine, Amazon EC2)
The Private Cloud model allows systems and services to be accessible within an organisation. It is operated only within a single organisation. However, it may be managed internally or by a third-party.
The Community Cloud model allows systems and services to be accessible by a group of organisations. It shares the infrastructure between several organisations from a specific community. It may be managed internally or by a third-party.
The Hybrid Cloud model is a mixture of public and private Cloud. Non-critical activities are performed using the public cloud model while the critical ones are fulfilled using the private one.
There are 3 types of Cloud service models mentioned below:
IaaS provides access to fundamental resources such as physical machines, virtual machines, storage and so on. All these resources are made available to the end user via server virtualisation. The resources are accessed by the customers as if they own them.
● Virtual machines with pre-installed software.
● Virtual machines with pre-installed Operating Systems such as windows, Linux and Solaris.
● On-demand availability of resources.
● The computing resources can be easily scaled up and down.
PaaS offers a run-time environment for applications. It also offers development and deployment tools required to develop applications. PaaS has a feature of point-and-click tools that enables non-developers to create web applications.
Force.com platform is an example of PaaS in Salesforce.
The characteristics of PaaS are:
● PaaS offers a browser-based development environment. It lets the developer create a database and edit the application code either via Application Programming Interface or point-and-click tools.
● It provides built-in security, scalability and web service interfaces.
● It also provides web service interfaces that allow us to connect the applications outside the platform.
Software as a Service (SaaS) makes software available over the internet. This model provides software applications as a service to end users. It refers to a software that is deployed on a hosted service and is accessible via the internet. There are several SaaS applications such as Billing and Invoicing System, CRM applications, Help Desk Applications, Human Resource (HR) Solutions.
● Available on demand.
● The software is maintained by the vendor and is cost-effective.
● The licence to the software may be subscription or usage based. It is billed on recurring basis.
● Scaled up or down on demand.
● Automatically upgraded and updated.
● SaaS offers a shared data model.
● All users run the same version of the software.
Anything-as-a-Service (XaaS) is yet another service model, which includes Network-as-a-Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-Service or Strategy-as-a-Service.
● Lower cost
● Lower risks
● Higher profit margins
● Higher security
● Better performance
Although, there are also a few misconceptions about Cloud computing services that we would like to list out so that you clear your misunderstandings and adopt it without any apprehensions.
1. Cloud is not secure.
2. You lose control with the Cloud.
3. We won’t need personal computers anymore with Cloud computing.
4. Cloud is not reliable.
5. The Cloud will give you performance problems.