Understanding cloud computing
Sharing resources through hardwired connections is quickly being replaced with a delivery method that provides virtual infrastructure, services, platforms, and applications on-demand, across networks. This is cloud computing, and here’s what you need to know about it.
Cloud computing is a set of principles and approaches to deliver computing infrastructure, services, platforms, and applications—sourced from clouds—to users on-demand across a network. Clouds are pools of virtual resources (such as raw processing power, storage, or cloud-based applications) orchestrated by management and automation software so they can be accessed by users on-demand through self-service portals supported by automatic scaling and dynamic resource allocation. Cloud computing can free IT departments from spending time spinning up custom deployments by giving business units the power to request and deploy their own resources.
Clouds and cloud computing aren't technologies unto themselves. The technologies needed include operating systems, virtualization software, and automation and management tools. Operating systems set up networks and host user interfaces; virtualization abstracts resources and pools them into clouds; automation software allocates these resources; and management tools provision new environments. Some projects, like OpenStack® (the foundation of Red Hat® OpenStack Platform), package most of these technologies into easily deployed systems—a one-stop shop for developing and orchestrating clouds.
How are clouds deployed?
Created from resources not owned by the end users.
Created from resources owned—either physically or contractually—by the end users.
Created from a variety of resources, both private and public.
What services are provided by clouds?
IaaS (like Red Hat Cloud Infrastructure) is the foundation of every cloud deployment and incorporates the bare minimum hardware and software needed to deploy a cloud: network, storage, servers, and virtualization. Together, these constitute the infrastructure of cloud computing environments (hence “Infrastructure-as-a-Service”), which are then made available to users as needed. Each of these services can be scaled, provisioned, and metered automatically, while every other part of the IT stack—from the operating system up to applications—must be managed manually by the cloud consumers.
PaaS is a cloud-based platform on which software can be developed and deployed, which means providing all the hardware and software that IaaS takes care of, along with the operating system, middleware, and runtime environment. A container platform (like those provided by Red Hat OpenShift) are PaaS, which give developers and operators an environment where the infrastructure and platforms supporting the databases and applications are automated and seamlessly integrated.
Multicloud is a cloud approach made up of more than 1 cloud service, from more than 1 cloud vendor—public or private. Multiclouds differ from hybrid clouds, but they're not mutually exclusive: You can have both, simultaneously. Multiclouds are also becoming more common across enterprises that need to improve security and performance through an expanded portfolio of environments. You might have multiple clouds because there's not a single cloud that provides everything you need, to maintain high availability to users thousands of miles away, to adhere to data sovereignty laws, to handle shadow IT, or to protect your environments from outages.
Cloud providers are companies that serve infrastructure, platforms, and/or software over a network. Public cloud providers let you use infrastructure, platforms, or applications virtualized from hardware they own, while managed private cloud providers deploy, configure, and manage resources owned by someone else.
Cloud management is a concept that means a user has control over everything that operates in a cloud: the data, applications, and services. The management tools themselves, which generally run as platforms, are the software used to manage those data, applications, and services. These tools are used to ensure that the cloud-computing resources are running efficiently and securely, while accessible to everyone (or everything) that needs them. Basically, cloud management platforms exist so that anything running in a cloud—public, private, or hybrid—actually works, and works well.
There's no universal security statement that can apply to clouds, users, or providers, but cloud security—for the most part—is IT security. You're responsible for securing your own space within whatever cloud deployment you use (public, private, or hybrid), and the diversity of your cloud portfolio, the strength of your encryption protocols, and the depth of your disaster recovery policies have the strongest impacts on your cloud security risks. Beyond that, there are a few extra security challenges compared to on-premise IT architectures—like dissolving perimeters, software-defined everything, and a more sophisticated threat landscape—but clouds feel a lot more secure once you understand those differences.
Virtualization helps create clouds, but that doesn’t make it cloud computing. It's easy to confuse the 2, particularly because they both revolve around separating resources from hardware to create a useful environment. Think about it like this:
- Virtualization is a technology that separates functions from hardware
- Cloud computing is more of a solution that relies on that split
Deploying containers in clouds is basically deploying PaaS (which provides the language, runtimes, and applications) on IaaS (which provides networks, storage, servers, and virtualization). Individually, they have limitations. IaaS is flexible, but it requires extra configuration when an application is deployed. PaaS can lock down an environment, but that makes it difficult to customize application runtimes. Deploying them together reduces their individual limitations.
Cloud automation is a method of provisioning, deploying, and decommissioning using—well—automation software. Without automation, provisioning capacity is a manual process, and managing all those pooled resources would be too cumbersome. That’s why automation is regarded as a necessary component of cloud computing.
Clouds are becoming an integral component of application development because they can react automatically to changes in workload demand. Workstations, virtual machines, application servers, and database connections can be spun up without a single ticket, helping apps get developed across distributed environments with all the resources, services, and capabilities needed to support them.
Because no matter what type of cloud you deploy—public, private, or hybrid—it should be open. Many cloud infrastructures are based on Linux® and other open source software, and nobody does open source better than Red Hat. We make cloud computing easy with cloud automation features, comprehensive consulting, and hands-on training from expert instructors.
Keep learning about the cloud
Some of the ways you can set up a cloud
The ideal platform for your business to build a private cloud or for service providers to construct a public cloud.
A complete, private cloud IaaS solution with seamless management across public and private cloud deployments.
This container app platform/private cloud infrastructure combination helps implement containers across the entire IT stack