What is Cloud Computing?
Cloud computing is the on-demand consumption of IT services and resources over a network. The main cloud computing benefit is that it relieves users of directly managing and maintaining the underlying resources, ranging from infrastructure fundamentals like compute and data storage, all the way up to complete applications.
Cloud computing services are available through hyperscale public datacenters, on-premises in privately owned datacenters, or in hosted or managed settings. Many organizations use some combination of all three, taking a hybrid multicloud networking approach.
In order to begin your cloud computing journey, you must first choose the type of cloud computing architecture that your cloud computing services will be deployed on. These options include public, private, multicloud and hybrid cloud computing.
Public Cloud Computing
Public cloud computing services delivers IT resources and services (IaaS, PaaS, and SaaS) over the internet to the public. Customers pay in increments of usage (for example, MBs, minutes, or hours) for the resources they consume. Resources include storage, CPU cycles, and bandwidth, as well as other services such as data transfer, load balancing, and monitoring.
Benefits and Challenges of Public Cloud
The central advantage of public cloud is that it offers great agility and elasticity—consumers can burst, expand, or contract resource consumption on the fly to satisfy seasonal demand or to accelerate software development. Public cloud can offer lower costs, particularly for use cases with unpredictable or intermittent demand—doing away with the need to invest in and maintain IT resources (particularly hardware) that are not being used consistently. In other words, users pay for operational expenditure (OpEx), rather than capital expenditure staff training (CapEx).
However, public cloud can also be a more expensive alternative for predictable workloads and when there is insufficient cost governance in place (making sure to avoid paying for underutilized resources). There is also a concern when it comes to public cloud computing security. Steps must also be taken to guard against security problems arising from user errors and faulty configurations. There can also be costs associated with workload migration, staff training, and vendor lock-in.
The largest public cloud providers are Amazon Web Services (AWS), Google Cloud, and Microsoft Azure. Public clouds are all fully virtualized and have multitenant architectures, which means that numerous users share the same resources.
Private Cloud Computing
A private cloud offers many of the same capabilities and benefits as a public cloud, but it is owned by and intended for a single organization. The organization hosts the private cloud in its own datacenter or outsources the hosting and operations to a third-party provider (though in a single-tenant environment).
Benefits and Challenges of Private Cloud
Organizations often turn to private clouds when they need greater reliability, scalability, and security. Many enterprises use them for running sensitive or mission-critical workloads with specific availability, security, and performance requirements. And because private clouds can retain full control over their data, they are well-suited to meeting industry- and nation-specific regulatory requirements around such issues as individual privacy and data sovereignty. However, with private cloud, the organization is responsible for purchasing, operating, and maintaining the IT resources (or for paying a managed service provider for these services).
Multicloud refers to the distribution of workloads across multiple clouds, be they private or public, as well as remote and branch offices (ROBO), service providers, and field deployments. This approach allows organizations to use the cloud that best meets their specific technical and business requirements.
Benefits and Challenges
Benefits of multicloud computing include:
- Avoiding vendor lock-in. With multicloud, organizations can use the cloud with the best pricing or the best services for the specific workload.
- Better performance. Multicloud allows organizations to choose datacenters that are closer to their customers; this lowers the number of network hops between servers and thereby decreases latency, which improves application performance.
- Fulfilling compliance obligations. Many industries and nations have a range of regulations that companies must abide by, especially around customer data. For example, many nations have data sovereignty laws that require organizations to keep customer data within the country where the customer resides. Abiding by these sorts of regulations often require the use of multiple, geographically dispersed clouds.
- Stronger resilience. Because all clouds and cloud service providers experience occasional outages, having multiple clouds can improve business continuity and disaster recovery preparedness.
Conversely, the downside to multicloud can also be increased management complexity if approached on an ad hoc basis and without effective integration between clouds.
Hybrid Cloud Computing
Hybrid cloud computing combines elements of public and private cloud. A single organization may run some of its workloads on-premises, some in a service provider, and others in public clouds.
Benefits and Challenges of Hybrid Cloud
Hybrid cloud can deliver greater efficiency, costs, security, and performance by allowing organizations to always choose the optimal cloud for each workload. To achieve these goals, however, the hybrid cloud must offer seamless integration, especially around networking, and frictionless interoperability among the clouds, providing administrators the same management experience, whether the workloads are in public cloud or on-premises. Without the right solution, hybrid cloud can pose challenges around integration, security, workload mobility, latency, visibility, and license portability.
IaaS provides users on-demand access to the fundamental infrastructure resources needed to deploy and run software, such as operating systems and applications. These resources typically include compute, storage, virtualization, and networking, although some providers offer database and message queuing services as well. It’s akin to having a virtualized datacenter in the cloud that users access via an API or dashboard. Users are still responsible for managing the OS, middleware, runtime environment, applications, and data.
Benefits and Challenges of IaaS
IaaS affords the greatest amount of control and flexibility—users can control the entire stack and tailor resource capacity and configurations to meet workload requirements. Other advantages of IaaS include high scalability, consumption-based pricing for hardware, and easy resource automation. IaaS can pose challenges around cost overruns, security (data, system vulnerabilities, insider threats), multitenancy (sufficient isolation), staff training, and integrating legacy apps with a cloud environment.
PaaS provides the resources necessary to develop, test, run, and maintain software. This includes both the infrastructure and the OS, middleware, and runtime environment. Users, often developers, access the platform via the web, and they are free to focus on the application rather than managing resources. PaaS allows users to deploy standardized or custom applications with supported programming languages, scripts, APIs, and tools.
Benefits and Challenges of PaaS
Paas offers simplicity, high availability, scalability, reduced coding, easy automation, and a path to hybrid cloud. Challenges may include data security and compliance, integration with existing services and infrastructure, vendor lock-in, customization of legacy systems, and limits on certain operational capabilities.
SaaS delivers an application to users over the internet. The vendor manages the entire stack, including the application itself, and there are typically no downloads or installations required on the client side.
Benefits and Challenges of SaaS
Users can access the services via mobile applications or web browsers, and are freed from spending time managing the software. Conversely, SaaS can be the least flexible of all cloud computing options, depending on the offering. Integration and interoperability with existing systems can be difficult, and there may be limited options for customization. Moreover, what users gain in convenience from SaaS they lose in control, which means they may have to adjust their data security and governance models to align with the functionality and features of the specific SaaS offering. Examples of SaaS vary widely, from work productivity applications (Microsoft Office 365, Google’s G Suite), to cloud governance tools (Xi Beam), to enterprise applications (Salesforce, SAP). SaaS may also include other subsets of “as a service” offerings, such as Desktop as a Service (DaaS), Disaster Recovery as a Service (DRaaS), or Database as a Service (DBaaS)—the latter may be considered either PaaS or SaaS, depending on how it is used.