"The cloud" refers to servers accessed over the Internet and the software and databases that run on those servers. Cloud servers are located in data centres all over the world. Using cloud computing, users and companies don't have to manage physical servers themselves or run software applications on their machines.
The cloud enables users to access the same files and applications from almost any device because the computing and storage take place on servers in a data centre instead of locally on the user device. This is why users can log into their Instagram account on a new phone after their old phone breaks and still find their old version in place, with all their photos, videos, and conversation history. It works the same way with cloud email providers like Gmail or Microsoft Office 365 and cloud storage providers like Dropbox or Google Drive.
For businesses, switching to cloud computing removes some IT costs and overhead: for instance, they no longer need to update and maintain their servers, as the cloud vendor they are using will do that. This significantly impacts small businesses that may not have been able to afford their internal infrastructure but can outsource their infrastructure needs affordably via the cloud. The cloud can also make it easier for companies to operate internationally because employees and customers can access the same files and applications from any location.
How does cloud computing work?
Cloud computing is possible because of a technology called virtualization. Virtualization allows for creating a simulated, digital-only "virtual" computer that behaves like a physical computer with its hardware. The technical term for such a computer is a virtual machine. When properly implemented, virtual machines on the same host machine are sandboxed from one another, so they don't interact with each other at all, and the files and applications from one virtual machine aren't visible to the other virtual machines even though they're on the same physical device.
Virtual machines also make more efficient use of the hardware hosting them. By running many virtual machines at once, one server becomes many servers, and a data centre becomes a whole host of data centres, able to serve many organizations. Thus, cloud providers can offer the use of their servers to far more customers at once than they would be able to otherwise, and they can do so at a low cost.
Even if individual servers go down, cloud servers, in general, should be always online and always available. Cloud vendors generally back up their services on multiple machines and across various regions.
Users access cloud services either through a browser or through an app, connecting to the cloud over the Internet – that is, through many interconnected networks – regardless of what device they're using.
What are the leading service models of cloud computing?
Software-as-a-Service (SaaS): Instead of installing an application on their device, SaaS applications are hosted on cloud servers, and users access them over the Internet. SaaS is like renting a house: the landlord maintains the place, but the tenant mostly uses it as if they owned it. Examples of SaaS applications include Salesforce, MailChimp, and Slack.
Platform-as-a-Service (PaaS): In this model, companies don't pay for hosted applications; instead, they pay for the things they need to build their applications. PaaS vendors offer everything necessary for making an application, including development tools, infrastructure, and operating systems, over the Internet. PaaS can be compared to renting all the tools and equipment necessary for building a house instead of renting the home itself. PaaS examples include Heroku and Microsoft Azure.
Infrastructure-as-a-Service (IaaS): In this model, a company rents the servers and storage they need from a cloud provider. They then use that cloud infrastructure to build their applications. IaaS is like a company leasing a plot of land on which they can build whatever they want – but they need to provide their building equipment and materials. IaaS providers include DigitalOcean, Google Compute Engine, and OpenStack.
Formerly, SaaS, PaaS, and IaaS were the three main cloud computing models, and virtually all cloud services fit into one of these categories. However, in recent years a fourth model has emerged:
Function-as-a-Service (FaaS): FaaS, also known as serverless computing, breaks cloud applications down into even smaller components that only run when they're needed. Imagine if it were possible to rent a house one little bit at a time: for instance, the tenant only pays for the dining room at dinner time, the bedroom while they're sleeping, the living room while they're watching TV, and when they aren't using those rooms, they don't have to pay rent on them.
FaaS or serverless applications still run on servers, as do all these models of cloud computing. But they're called "serverless" because they don't run on dedicated machines and because the companies building the applications don't have to manage any servers.
Also, serverless functions scale-up, or duplicate, as more people use the application – imagine if the tenant's dining room could expand on-demand when more people come over for dinner!
What are the different types of cloud deployments?
In contrast to the models discussed above, which define how services are offered via the cloud, these different cloud deployment types have to do with where the cloud servers are and who manages them.
The most common cloud deployments are:
- Private cloud: A private cloud is a server, data centre, or distributed network wholly dedicated to one organization.
- Public cloud: A public cloud is a service run by an external vendor that may include servers in one or multiple data centres. Unlike a private cloud, public clouds are shared by various organizations. Using virtual machines, individual servers may be shared by different companies, a situation that is called "multitenancy" because multiple tenants are renting server space within the same server.
- Hybrid cloud: Hybrid cloud deployments combine public and private clouds and may even include on-premises legacy servers. An organization may use their private cloud for some services and their public cloud for others or use the public cloud as a backup for their private cloud.
- Multicloud: Multicloud is a type of cloud deployment that involves using multiple public clouds. In other words, an organization with a multicloud deployment rents virtual servers and services from several external vendors – to continue the analogy used above, this is like leasing several adjacent plots of land from different landlords. Multicloud deployments can also be hybrid cloud and vice versa.
How does Cloudflare help businesses move to and operate in the cloud?
Cloudflare helps protect and manage any cloud deployment. Our network sits in between end-users and the cloud infrastructure of the customer's product or service. Customers can drive performance, security, DNS, and other Cloudflare offerings for all their cloud deployments from a single dashboard. Cloudflare offers a web application firewall to protect Internet properties from vulnerability exploits. Cloudflare also enables businesses to incorporate FaaS (serverless) into their cloud deployment easily.
How is the cloud different from the traditional client-server model of the Internet?
The Internet has always been made up of servers, clients, and the infrastructure that connects them. Clients make requests of servers, and servers send responses. Cloud computing differs from this model in that cloud servers aren't just responding to requests – they're running programs and storing data on the client's behalf.
Why is it called 'the cloud'?
"The cloud" started as a tech industry slang term. In the early days of the Internet, technical diagrams often represented the servers and networking infrastructure that make up the Internet as a cloud. As more computing processes moved to this servers-and-infrastructure part of the Internet, people began to talk about moving to "the cloud" as a shorthand way of expressing where the computing processes were taking place. Today, "the cloud" is a widely accepted term for this style of computing.
What about containers? Are containers IaaS, PaaS, SaaS, or FaaS?
Like virtual machines, containers are cloud virtualization technology. They are part of the PaaS (Platform-as-a-Service) cloud model. Virtualization for containers occurs one abstraction layer up from where it appears for virtual machines, at the operating system level instead of at the kernel level (the kernel is the foundation of the operating system, and it interacts with the computer's hardware). Each virtual machine has its operating system kernel, but containers on the same device share the same kernel.
What is multicloud?
In cloud computing, a cloud is a collection of servers that cloud customers access over the Internet. Typically, each cloud is managed by a cloud provider – a company that offers cloud services. A public cloud is a cloud that more than one customer shares.
"Multicloud" means multiple public clouds. A company that uses a multicloud deployment incorporates numerous public clouds from more than one cloud provider. Instead of a business using one vendor for cloud hosting, storage, and the full application stack, in a multi-cloud configuration, they use several.
Multicloud deployments have several uses. A multi-cloud deployment can leverage multiple IaaS (Infrastructure-as-a-Service) vendors, or it could use a different vendor for IaaS, PaaS (Platform-as-a-Service), and SaaS (Software-as-a-Service) services. Multicloud can be purely redundancy and system backup, or it can incorporate different cloud vendors for other services.
Most businesses that move to the cloud will end up with some multicloud deployment. A multi-cloud deployment can even come about unintentionally as a result of shadow IT (see below).
What's the difference between multicloud and hybrid cloud?
A multicloud can also be a hybrid cloud, and a hybrid cloud can also be a multicloud, but these terms represent two distinct concepts.
"Hybrid cloud" describes the mixing of two or more distinct types of infrastructure: it combines a private cloud, an on-premises data centre, or both with at least one public cloud. Multicloud refers to several different public clouds being deployed, and it doesn't necessarily include a private cloud, although it can.
What are the pros and cons of using a multicloud strategy?
- Reliability and redundancy: Using a multi-cloud deployment, a business avoids putting all its eggs in one basket. If one cloud goes down, some functionality will still be available to users from the other deployed clouds. Also, one public cloud could be used as a backup to another cloud.
- Reduced vendor lock-in: Moving to the cloud means relying on external cloud providers, and as companies use these vendors more and more, it can become difficult to move away from them. However, if a multi-cloud strategy is used, systems and storage are spread out across multiple vendors. Therefore it's easier to migrate away from using one of these vendors because most of the infrastructure remains in place during the migration.
- Potential cost savings: If a business doesn't commit to using one cloud vendor for all its infrastructure needs, it is free to pick and choose the most affordable services from different vendors.
- The complexity of management: A multi-cloud deployment means interfacing with several different vendors, each with other processes and technology. It becomes harder to have complete visibility into the technology stack with data stored and processes running in multiple clouds.
- Increased latency: If services in multiple clouds need to talk to one another to fulfil user requests, that can introduce latency, depending on how tightly the clouds are integrated, how far apart the data centres are geographically, and how often multiple clouds need to interact.
- More excellent attack surface: The more pieces of software and hardware that are integrated, the more vulnerabilities there likely are.
- Performance and reliability: It can be challenging to balance loads across different clouds, especially if the data centres are very far apart geographically. (Cloudflare Load Balancing can balance loads across clouds.)
What does multi-cloud architecture look like with Cloudflare?
Cloudflare sits between end-users and cloud infrastructure. We can integrate with, secure, and accelerate traffic to any cloud provider or multiple cloud providers.
Several Cloudflare services can integrate into the traffic flow between end-user and origin cloud infrastructure. We provide multi-cloud load balancing, distribute traffic across different clouds, and CDN caching to reduce latency. Our Web Application Firewall (WAF) blocks malicious traffic for better security.
What is shadow IT?
A multi-cloud deployment can come about unintentionally as a result of shadow IT. Shadow IT is when internal teams set up technical systems or use software products without official approval or oversight from the larger organization. A simple example would be if a company's employees use a chat app that isn't sanctioned or managed by the company to communicate about business activities.
Shadow IT can find its way into application architecture too. Either as a shortcut for getting things done or out of necessity, employees may incorporate cloud services into a company's technology stack before receiving official approval.
How does Cloudflare help businesses with multi-cloud management?
Cloudflare enables businesses to manage their cloud deployments' performance and security from a single dashboard. The Cloudflare network stretches worldwide in 200+ cities to help ensure performance and safety for users anywhere in the world.