The word “Cloud Computing” coined when Amazon started to offer Amazon Web Services (AWS) in 2006, which provides IT services to business as web-services.
A powerful paradigm shift occurred when technology giants like Google and Amazon started using the word “cloud computing”. This was used to describe the new services. In which you can increasingly accessing files, computer power, and software over the Web instead of on their machines or Desktop.
Now, cloud computing has been a platform for offering highly reliable, available and scalable services on the Internet. Which makes it so popular among the providers that most of the technology companies in America seems to be selling cloud computing.
What is Cloud Computing?
A cloud is nothing but a group of servers connected together to provide on-demand delivery of storage, Computer power, application services and other technology resources over the internet.
Cloud Computing provides you easy access to servers, databases, storage, software and a broad set of services over the internet. It comes with the flexibility that you pay for what you use.
The most attractive capability of Cloud Computing is that you can add & release services, computer power, and storage the moment you need. And cloud computing guarantees the 99.99% availability of these resources on-demand.
Why Cloud Computing?
You might have started sensing the need for cloud computing. It solves a broad set of classical problems of On-premises software development & deployments where you have a server with limited resources.
Here is the list of few of many advantages of cloud computing over On-premises deployments:
Building your own servers is a highly expensive task and requires expertise. In order to install a new server, you will order, pay for, install, configure and monitor even if you have no application running on it.
In cloud computing, you only pay for the services that you use. Moreover, it has gone further to reduce the cost by allowing you that “you can pay only when you consume the computing resources and how much you use” .
In general, availability means every request is guaranteed to receive a response. Theoretically speaking you will never get “Server not available” for any request.
Most of the cloud providers claim that their availability of services is 100% but the fact is that they are at least 99.99% available, which is a big percentage.
Cloud computing knows no boundaries; you can increase the storage capacity at the moment you want. Because the cloud has unlimited storage available on-demand. You can trim down the storage to a bare minimum when you don’t want.
Unlike in-house infrastructure, cloud computing platform provides reliable, much more managed and consistent services. Cloud platforms guarantee the 99.99% availability which ensures the services 24×7 and 365 days.
The applications running on them can easily be transferred to the other servers if a server fails.
Backup and Recovery
Keeping the backup of your data on the cloud is a lot easier and cheap than the physical storage. Also, you can take backup as many times as you want without worrying about storage capacity.
If anything goes wrong or you want to recover the lost data, cloud platform provides you enough services and technology for the recovery of your data.
Cloud Computing Types
Mainly, the cloud is of three types – Public, Private and Hybrid. There is one more type of cloud named “Community Cloud” which is not commonly used. It’s a kind of computing collaboration for a specific community.
In a public cloud, the third party service provider makes the service, storage, and resources available to be used by the customer.
Moreover, whole computing infrastructure is located on the premises of the cloud provider who provides the cloud services. The customer of public clouds has no physical control over the infrastructure.
Private clouds are often known as “On-premises” cloud. A private cloud is almost similar to the public cloud but it has limited service to offer than a public cloud. But the data and services of a private cloud are managed by the company or organization that maintains it.
In a private cloud, the organization has full control of the cloud infrastructure. Private clouds also termed as the “Legacy style of deployment” and considered more secure than public cloud because of limited access.
As per the name, the Hybrid Cloud is a combination of Public Cloud and Private Cloud.
Choosing the hybrid cloud depends on the individual needs of the organization and security of data. Hybrid Clouds are also used as a common method of deployment between cloud and existing on-premises infrastructure to extend and grow.
Community clouds are not commonly used cloud platform. The idea of a community cloud is a result of collaborative efforts to share the infrastructure between several organizations from a specific community.
A community cloud basically provides the infrastructure service to solve the common concerns of a particular community.
Cloud Computing Service Models
The whole idea of cloud computing is to provide service over the Internet which could be infrastructure services, platform service or software service. As cloud computing has grown in popularity, several different deployment strategies and service models have emerged to meet the specific needs of different users.
Let’s understand cloud computing service models and differentiate between Infrastructure as a Service, Platform as a Service and Software as a Service. This will help users of the cloud to make the right choice:
IaaS is an abbreviation for “Infrastructure-as-a-Service” . It typically contains the infrastructure service blocks which provides access to computer power (virtual or dedicated), networking and storage space etc. Infrastructure as a service also provides provision to manage these services with the highest level flexibility and control over resources.
AWS is one of the best examples of Infrastructure as a Service. This is the most basic cloud computing category where you can rent the infrastructure services on the Internet.
PaaS is an abbreviation for “Platform-as-a-Service”. Platforms as a service focus on providing a platform which allows you the deployment, maintenance, and management of your application. It removes the need to manage the infrastructure service (Virtual machines, OS, Storage etc.)
This helps users to be more efficient as they don’t need to worry about resource procurement and infrastructure. Software maintenance, upgrades, bugs patching, or any of the other heavy lifting involved in running your application is taken care of by the service provider.
Froce.com is one of the best examples of the platform as a service.
SaaS is an abbreviation for “Software-as-a-Service”. It is a multi-tenant architecture where a software vendor provides a software service to their clients as a tenant. In SaaS offering a client (known as a tenant) do not have to think about the infrastructure, the platform software is running on; they mainly use the software functionality.
Maintaining software and services is the job of SaaS provider. It is a very popular cloud service offering and has wiped out so many standalone software from the market.
Google Docs, Salesforce is the best examples of Software as a service.
Cloud Computing Service Providers
As I said in the introduction that “cloud computing is so popular among the providers that most of the technology companies in America seem to be selling cloud computing”.
Here is the list of top five most popular and used Cloud Computing platform:
Advantages of Cloud Computing
We have discussed “why cloud computing?” in the section and covered a few of many advantages of cloud computing like Cost Efficient, High Availability, Unlimited storage capacity, and Backup & Recovery.
Let’s discuss a few more advantages:
Scalability is the ability of a system, network, or resources to handle a growing amount of load by adding more resources. That you can do in two ways:
- Scaling Up – Involves adding more resources like RAM, Storage etc.
- Scaling Out – Involves adding nodes
Cloud computing is highly scalable; you can add and remove resources as per your need. You can spin machines in one click OR trigger inaction of an event such as CPU load is getting high.
Go live in minutes
Cloud computing reduces the steps to go live by providing the built-in infrastructure services. For Example, You want a Linux machine to deploy your application. This can be done with the click of a button in cloud computing.
Stop spending money on running and maintaining data centers
If you are a software services or technology provider then stop spending money in running and maintaining data centers. Cloud Computing helps you focus on your application software, customer and not on data centers.
Monitor your system more efficiently
To monitor your traditional deployments, you would need to add several software and hardware solutions.
Cloud computing comes with integrated monitor capability for almost every piece of infrastructure services. You will have the flexibility to choose what kind of monitoring you want to have. And not just monitoring, it enables you to take corrective actions and create alarms to notify your choice of events.
Disadvantages of Cloud Computing
In comparison to the advantages there are very few disadvantages of cloud computing, let’s take a look:
Not easy to switch providers
Choose the cloud computing platform wisely. The biggest disadvantage of using cloud computing is that you cannot switch the cloud platform easily. Because Interoperability is a challenge in cloud computing. It’s never easy to take out your application from one platform and deploy it on another. In most of the cases, it would be a fresh deployment instead of the switch.
Security and Compliances
Though, cloud provider ensures the best possible security to the data and application. But it’s still a question that your data is accessible to anyone or not? After all, Cloud is a shared platform.
Compliances are also a challenge on the cloud. For example, if you are deploying a healthcare application and you have to take care of HIPAA (Health Insurance Portability and Accountability Act of 1996). Which intern depends on the cloud service you use. Any violation of the compliances may bring the serious troubles for you.
Before choosing a cloud platform never forget to check the risk and compliances white paper.