What is Cloud Computing
Cloud computing is the delivery of computing services over the internet. The computing services may include application, server, hardware, analytics, networking system. Cloud computing follows a pay-per-use principle which means users have to pay for what they have used.
Here, the cloud refers to the internet from where users can access their application, storage, network, servers. Cloud service providers install and manage the physical resources at one point of location and charge their customers by providing virtual computing services.
Instead of storing the data in the physical storage device, cloud computing allows us to store our data in remote storage. This will reduce the physical operational cost and increase the security of the data. Thus, it helps in increasing productivity, saving costs, and expanding business in an effective and efficient way.
The best examples of cloud computing can be Google Drive, Dropbox.
How Does Cloud Computing Work?
There are two parties in cloud computing. One is a cloud service provider who owns the physical device, another is a user who can rent and access anything from applications to storage through the internet. Cloud service providers install, manage, and operate the infrastructure or data centers at one location. Companies and individuals can save the upfront cost and complexity of owning and maintaining the physical infrastructure. Users can access their data from anywhere, anytime as long as they have internet access.
Types of Cloud Computing
Cloud computing is a vast subject. It can be classified into three main categories in terms of infrastructure, and complexity.
- Infrastructure as a Services (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
Infrastructure as a Service
As the name suggests, physical or virtual server storage and networking can be rented through IP-based connectivity as part of an on-demand service. Users do not need to buy software or server, instead, they can purchase outsourced, on-demand service that is managed by others. Using online infrastructure makes it easier to innovate, and significantly cut down the time and cost of deployment and maintenance of the physical infrastructure.
The best example of an IaaS system includes IBM Cloud, Microsoft Azure, etc.
Platform as a Service (PaaS)
It refers to the cloud service where the on-demand environment for developing. testing, delivering platform is provided. As the name suggests, it is the platform to create something. PaaS shares some similarities with SaaS, but the difference is instead of delivering final software to users, it provides a platform for developers to create and design applications. One should not worry about setting up or managing the underlying infrastructure of servers, storage, network, and databases needed for development.
The best examples of SaaS are Heroku, Canva, Force.com, OpenShift, Apache Stratos, etc.
Software as a Service
It is the delivery of software applications to users. This is probably the most used cloud services on day to day basis. Software as a Service, users get the final software product. There involves the licensure of software to end-users. Licenses are typically provided through a pay-as-you-go model or on-demand.
Examples of SaaS are BigCommerce, Google Apps, Salesforce, MailChimp, ZenDesk, DocuSign, Slack, Hubspot, etc.
Evolution of Cloud Computing
Although cloud computing has its roots in technologies dating as far back as the 1950s, the rise of the internet and the introduction of the World Wide Web (WWW) in the 1990s was the first major step in creating the cloud as we know it today. Users could connect with each other over the internet using their own computers and their devices did not need to have a physical connection with each other.
This spawned the idea, what if users could access applications and services on the web hosted locally? Rather than relying on physical distribution, companies could simply provide the download option on the webpage for the customer to access from home.
Salesforce was one of the first companies to take advantage of this when they released their business application online in 1999. This became the first major example of the SaaS deployment model. Then the next major step in cloud computing’s evolution came in 2002 when Amazon internally released Amazon Web Services, (AWS). Amazon needed to provide its employees with the database and computing resources they needed for their projects, but also a create common, scalable environment that developers could pull these resources from. They created AWS as a shared infrastructure with computing resources already installed for its users to work with.
This dramatically increased worker productivity as it eliminated the need to build an infrastructure for every project, and because the environment was the same for each project, it also increased collaboration among developers. All of this helped fuel Amazon’s decision to release AWS to the public in 2006, making it the first public cloud environment on the market. Amazon also introduced the concept of “Pay-as-you-go” for the first time. This became the default pricing model that cloud providers use today.
As time passed and cloud computing became the best option for individuals and for organizations, other companies followed the suit as well and created their own cloud environments. Two of the most notable – which we touched upon in part of the series – is Microsoft Azure and Google Cloud Platform. Both of them have gained huge success over time.
Today, cloud computing has grown to encompass a wide variety of services across a multitude of technology categories. Companies are designing cloud solutions for emerging technologies, such as augmented reality and the Internet of Things (IoT). The majority of enterprises operating today have adopted a cloud computing solution in some way.
Deployment Models of Cloud Computing
There are various types of clouds, each of which is different from the other, they are
- Public clouds
- Private clouds
- Hybrid Clouds
- Community clouds.
Public Clouds – As the name suggests, is available to the public, and data are created and stored on third-party servers. Cloud provider manages all the infrastructure and they can offer resources as a service both free of charge or on a pay-per-use basis. Examples of popular public cloud deployment models are Amazon Elastic Compute Cloud, Microsoft Azure, IBM Cloud, Salesforce Heroku, and others.
|Hassle-free infrastructure management||Compromised reliability|
|High scalability||Data security and privacy issues give rise to concern|
|Reduced costs||The lack of a bespoke service|
Private Clouds – It is also called the internal or corporate model because only one specific company owns a private cloud. The rest of the architecture on a similar basis as the public cloud. The server can be hosted externally or on the premises of the owner company. Regardless of their physical location, these infrastructures are maintained on a designated private network and use software and hardware that are intended for use only by the owner company.
|Bespoke and flexible development||Costly|
|Highly Scalable||Not suitable for small scale companies|
|High privacy and reliability|
Community Clouds – this model largely resembles the private cloud. The only difference is the set of users. Only one company owns the private cloud server, whereas several organizations with similar backgrounds share the infrastructure and related resources of a community cloud.
|Cost reduction||Sharing of fixed storage and bandwidth capacity|
|Secure||Not commonly used yet|
|Easy data sharing and collaboration|
Hybrid Clouds – as the name implies, a hybrid cloud combines both public and private services. This type of model allows the user more flexibility and helps optimize the user’s infrastructure and security. It has improved security and privacy, enhanced scalability, and flexibility at a reasonable price.
Characteristics/Features of Cloud Computing
There are several characteristics of cloud computing which can be listed as below –
- On-demand self-service
- Broad network access
- Multi-tenancy and resource pooling
- Highly scalable
- Pay per use
- Easy maintenance
- Measured service
Challenges in Cloud Computing
Cloud computing has become a global network. As more and more small to large enterprises are shifting to cloud computing, there has been a significant number of challenges with data security and privacy. On the other side, there is a big challenge in maintaining uptime with data accessibility. Following are the major challenges in cloud computing today.
- Data Security & Privacy
- Cost Management
- IT Governance
- Management of Multiple Clouds
- Vendor lock-in – oftentimes, switching between cloud providers can cause significant issues. This includes technical incompatibilities, legal limitations, and incurring substantial costs.
Advantages and Disadvantages of Cloud Computing
There are several advantages and disadvantages of cloud computing, which can be listed ad explained as below:
- Easy Implementation – It allows businesses to retain the same applications & business processes without having to deal with the backend technicalities. It is managed by the cloud providers, and users can access it easily and quickly.
- Scalable – Cloud services are easy to scale.
- Cheaper – Cloud computing reduces the cost of the installation, operation, maintenance by allowing users to access the remote physical storage at a minimum price. It enables businesses to use the extra time and resources for improving the company infrastructure.
- No Hardware Required – Since everything will be hosted in the cloud, a physical storage center is no longer needed. However, a backup could be worth looking into in the event of a disaster that could leave your company’s productivity stagnant.
- Reliable – Reliability is one of the biggest advantages of cloud computing. You can always get instantly updated about the changes.
- Efficient Recovery – Once the data is stored in a Cloud, it is easier to get the back-up and recovery of that, which is otherwise a very time taking process on-premise
- Easy Accessibility – Data can be accessed from anywhere, anytime as long as the internet is connected. This is another big advantage of cloud computing.
- Unlimited Storage Capacity
- On-Demand Self-service
- No physical control – Since cloud computing is the concept of remote and virtual connection. Users can not touch and control the physical storage. A third-party company will be taking care of everything with the data.
- Bandwidth Issue -Many cloud storage service providers limit the bandwidth usage of their users. So, in case if your organization surpasses the given allowance, the additional charges could be significantly costly.
- Performance may vary
- No redundancy
- Security threat in the cloud
- Poor support
- May not get all the features
Cloud computing has grown to encompass a wide variety of services across a multitude of technology categories. Companies are designing cloud solutions for emerging technologies, such as augmented reality and the Internet of Things (IoT). The majority of enterprises operating today have adopted a cloud computing solution in some way.
So, to compete in a tough market, every enterprise must shift to cloud technology. Cloud computing not only reduces human effort, cost and gives the best output for the individuals and whole organization but also supports Green Computing.