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 the cloud, and here’s what you need to know about it.
What is cloud?
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 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 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®, package most of these technologies into easily deployed systems—a one-stop shop for developing and orchestrating clouds.
How to build a cloud, starting with your current IT project
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?
Cloud deployments are made possible through as-a-Service packages—which is a fancy way of referring to a bundle of services provided over a network so you don't have to provide them locally or through hardwired connections. As-a-Service packages are the essence of cloud computing and are differentiated by the types of services that are provided.
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. Containers (like 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.
How does cloud computing work?
The easiest way to describe it is from a purely IaaS perspective. At the base of cloud computing is a stable operating system. This is the layer that gives users independence across public, private, and hybrid environments. Assuming intranet and/or internet access is already established, virtualization is what creates clouds. Software called a hypervisor sits on top of physical hardware and abstracts the machine's resources. These resources can be raw processing power, storage, or cloud-based applications containing all the runtime code and resources required to deploy it.
If the process stops here, it's not cloud computing—it's just virtualization. Virtual resources need to be allocated into centralized pools before they're called clouds, and those clouds need to be orchestrated by management and automation software before it's considered cloud computing. Clouds deliver the added benefits of self-service access, automated infrastructure scaling, and dynamic resource pools, which most clearly distinguish it from traditional virtualization.
Management software creates the foundation for provisions, deployments, and decommissions, but automation software is what truly makes it cloud-computing. Aside from basic resource allocation, the best automation software takes care of routing and networking, sets up virtual private networks, handles policies and permissions, balances loads, and autoscales. Most cloud computing systems would be too cumbersome without automation software, which is why it's seen as a necessary component.
But cloud computing isn't all or nothing—it's supposed to be built incrementally. Try a private cloud, scale to the public cloud, or pick which parts work for you. Your schedule; your requirements; your cloud.
What can I do with the cloud?
Cloud computing gives users access to resources anywhere—so long as there's a network connection. That includes resources from multiple levels of the software stack, from infrastructure (compute and storage), to platforms (middleware and infrastructure automation), and software (applications). Each of these can be provided independently or as a layered cloud-based system.
While clouds have become popular for their storage, compute, and memory services, they're becoming an integral component of application development. Clouds can react automatically to changes in workload demand, and new applications can be provisioned with less lag and effort than traditional protocols. Cloud computing augments operation teams by creating custom development environments instantly. 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.
Cloud-native apps in a hybrid world
What are the benefits of cloud computing?
The manual processes of provisioning VM capacity to users can take a long time, and some of the resources dedicated to that machine may never even be used. To free your IT department from spending all that time spinning up custom deployments, you need to give business units the power to request and deploy their own resources. That's the essence of cloud computing.
Done right, a cloud delivers strategic advantages to organizations by redirecting resources from maintenance to innovation.
- Make applications and data portable
- Help get the most out of existing IT investments and infrastructure through provisioning and automation
- Span physical servers, multiple virtualization platforms, and a variety of clouds running different technology stacks—allowing users to scale on-demand
- Put the customer in charge of their own technology strategy
How secure is the cloud?
Some industries, such as healthcare and financial service, operate under strict privacy, security, and compliance regulations. As a result, they tend to implement private clouds. The issue isn't that public clouds are insecure. Rather, very specific requirements for data separation and auditing make it difficult or impossible to implement public clouds because the servers running healthcare apps or the disks storing financial data doesn't belong to the organizations that use them.
There's no universal security statement that can apply to clouds, users, or providers. Some public cloud providers maintain the right to access data hosted on their hardware, while others have more stringent access requirements. At the end of the day, 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.
Why choose Red Hat?
Because no matter what type of cloud you deploy—public, private, or hybrid—we believe it should be open. Many cloud infrastructures are based on Linux® and other open source software, but it's hard to abstract the varied benefits of different cloud providers when proprietary code inhibits them from interacting with one another.
Effective cloud solutions should connect multi cloud environments. Better solutions should also manage those environments. But the best solutions automate the entire system. And cloud automation is something we've prioritized, using the world's most popular open source IT automation technology.
We simply believe the could should be open. Period.
Keep learning about the cloud
All the pieces you need to 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
Go full DevOps and deploy containers on top of your cloud environment.
An open source virtualization solution supporting apps that aren't quite ready for the cloud.
A management and operations platform that unifies hybrid cloud environments.