What is cloud computing?
Cloud computing is a general term for anything that involves delivering hosted services over the internet. These services are divided into three main categories or types of cloud computing: infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).
A cloud can be private or public. A public cloud sells services to anyone on the internet. A private cloud is a proprietary network or a data center that supplies hosted services to a limited number of people, with certain access and permissions settings. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services.
Cloud infrastructure involves the hardware and software components required for proper implementation of a cloud computing model. Cloud computing can also be thought of as utility computing or on-demand computing.
History of cloud computing
The history and evolution of cloud computing date back to the 1950s and 1960s.
In the 1950s, companies started to use large mainframe computers, but it was too expensive to buy a computer for each user. So, during the late 1950s and early 1960s, a process called time sharing was developed to make more efficient use of expensive processor time on the central mainframe.
Time sharing enabled users to access numerous instances of computing mainframes simultaneously, maximizing processing power and minimizing downtime. This idea represents the first use of shared computing resources, the foundation of modern cloud computing.
The origins of delivering computing resources using a global network are, for the most part, rooted in 1969 when American computer scientist J.C.R. Licklider helped create the Advanced Research Projects Agency Network, the so-called precursor to the internet. Licklider’s goal was to connect computers across the globe in a way that would enable users to access programs and information from any location.
In the 1970s, cloud computing began taking a more tangible shape with the introduction of the first VMs, enabling users to run more than one computing system within a single physical setup. The functionality of these VMs led to the concept of virtualization, which had a major influence on the progress of cloud computing.
In the 1970s and 1980s, Microsoft, Apple and IBM developed technologies that enhanced the cloud environment and advanced the use of the cloud server and server hosting. Then, in 1999, Salesforce became the first company to deliver business applications from a website.
In 2006, Amazon launched AWS, providing such services as computing and storage in the cloud. Following suit, the other major tech players, including Microsoft and Google, subsequently launched their own cloud offerings to compete with AWS
Types of cloud computing services
Cloud computing can be separated into three general service delivery categories or forms of cloud computing:
- IaaS. IaaS providers, such as Amazon Web Services (AWS), supply a virtual server instance and storage, as well as application programming interfaces (APIs) that let users migrate workloads to a virtual machine (VM). Users have an allocated storage capacity and can start, stop, access and configure the VM and storage as desired. IaaS providers offer small, medium, large, extra-large, and memory- or compute-optimized instances, in addition to enabling customization of instances, for various workload needs. The IaaS cloud model is closest to a remote data center for business users.
- PaaS. In the PaaS model, cloud providers host development tools on their infrastructures. Users access these tools over the internet using APIs, web portals or gateway software. PaaS is used for general software development, and many PaaS providers host the software after it’s developed. Common PaaS products include Salesforce’s Lightning Platform, AWS Elastic Beanstalk and Google App Engine.
- SaaS. SaaS is a distribution model that delivers software applications over the internet; these applications are often called web services. Users can access SaaS applications and services from any location using a computer or mobile device that has internet access. In the SaaS model, users gain access to application software and databases. One common example of a SaaS application is Microsoft 365 for productivity and email services
Cloud computing deployment models
Private cloud services are delivered from a business’s data center to internal users. With a private cloud, an organization builds and maintains its own underlying cloud infrastructure. This model offers the versatility and convenience of the cloud, while preserving the management, control and security common to local data centers. Internal users might or might not be billed for services through IT chargeback. Common private cloud technologies and vendors include VMware and OpenStack.
In the public cloud model, a third-party cloud service provider (CSP) delivers the cloud service over the internet. Public cloud services are sold on demand, typically by the minute or hour, though long-term commitments are available for many services. Customers only pay for the central processing unit cycles, storage or bandwidth they consume. Leading public CSPs include AWS, Microsoft Azure, IBM and Google Cloud Platform (GCP), as well as IBM, Oracle and Tencent.
A hybrid cloud is a combination of public cloud services and an on-premises private cloud, with orchestration and automation between the two. Companies can run mission-critical workloads or sensitive applications on the private cloud and use the public cloud to handle workload bursts or spikes in demand. The goal of a hybrid cloud is to create a unified, automated, scalable environment that takes advantage of all that a public cloud infrastructure can provide, while still maintaining control over mission-critical data.
TOP ADVANTAGES AND DISADVANTAGES OF CLOUD COMPUTING
- Pay per use. Compute resources are measured at a granular level, enabling users to pay only for the resources and workloads they use.
- Workload resilience. CSPs often implement redundant resources to ensure resilient storage and to keep users’ important workloads running — often across multiple global regions.
- Migration flexibility. Organizations can move certain workloads to or from the cloud — or to different cloud platforms — as desired or automatically for better cost savings or to use new services as they emerge.
- Broad network access. A user can access cloud data or upload data to the cloud from anywhere with an internet connection using any device.
- Multi-tenancy and resource pooling. Multi-tenancy lets numerous customers share the same physical infrastructures or the same applications yet still retain privacy and security over their own data. With resource pooling, cloud providers service numerous customers from the same physical resources. The resource pools of the cloud providers should be large and flexible enough so they can service the requirements of multiple customers.
- Cloud security. Security is often considered the greatest challenge facing cloud computing. When relying on the cloud, organizations risk data breaches, hacking of APIs and interfaces, compromised credentials and authentication issues. Furthermore, there is a lack of transparency regarding how and where sensitive information entrusted to the cloud provider is handled. Security demands careful attention to cloud configurations and business policy and practice.
- Cost unpredictability. Pay-as-you-go subscription plans for cloud use, along with scaling resources to accommodate fluctuating workload demands, can make it tough to define and predict final costs. Cloud costs are also frequently interdependent, with one cloud service often utilizing one or more other cloud services — all of which appear in the recurring monthly bill. This can create additional unplanned cloud costs.
- Lack of capability and expertise. With cloud-supporting technologies rapidly advancing, organizations are struggling to keep up with the growing demand for tools and employees with the proper skill sets and knowledge needed to architect, deploy, and manage workloads and data in a cloud.
- IT governance. The emphasis on do-it-yourself capability in cloud computing can make IT governance difficult, as there is no control over provisioning, deprovisioning and management of infrastructure operations. This can make it challenging to properly manage risks and security, IT compliance and data quality.
- Compliance with industry laws. When transferring data from on-premises local storage into cloud storage, it can be difficult to manage compliance with industry regulations through a third party. It’s important to know where data and workloads are actually hosted in order to maintain regulatory compliance and proper business governance.
- Management of multiple clouds. Every cloud is different, so multi-cloud deployments can disjoint efforts to address more general cloud computing challenges.
- Cloud performance. Performance — such as latency — is largely beyond the control of the organization contracting cloud services with a provider. Network and provider outages can interfere with productivity and disrupt business processes if organizations are not prepared with contingency plans.
- Building a private cloud. Architecting, building and managing private clouds — whether for its own purpose or for a hybrid cloud goal — can be a daunting task for IT departments and staff.