By: Jeremy Pedersen
This week I'll be keeping the blog post short: we'll focus on frequently-asked questions.
This week's post is for cloud newbies: if you have been using the cloud for a while, you can skip this week's post!
In the simplest sense, the "cloud" is just large-scale IT infrastructure. Networks, servers, and storage.
The difference between "the cloud" and traditional hosting services is mostly a matter of scale. Cloud systems are usually run at a "global scale" across multiple datacenters in multiple countries.
This is why the term "cloud" is usually associated with big tech companies like Amazon, Microsoft, Google, and Alibaba.
The term "cloud" is also usually applied to IT infrastructure that is managed for you by somebody else, although that isn't always true, as we'll see below.
In general, there are three:
"Public" cloud providers really aren't. Unlike a public park or a public bathroom, you need to spend money to use public cloud services, and usually, there is a registration process to get an account, which requires you to provide an ID, a payment method, and a phone number or email address.
The "public" in "public cloud" simply means that the services are offered to anybody who can sign up (and pay) and that the cloud infrastructure itself is shared among multiple users.
"Private" clouds are cloud infrastructure that is owned and operated privately: large institutions (like banks) often have special security requirements that don't allow them to run their applications on hardware that is shared with other users.
These institutions will sometimes buy and house their own IT infrastructure, then install a commercial cloud software system on top, which lets them use their private cloud environment in much the same way as a public cloud. Alibaba, Amazon, and Microsoft all provide private versions of many of their public cloud products, which can be run in this type of environment.
The key distinction between public and private clouds is that private clouds are restricted to a single user.
You can probably guess what this one is: it's a combination of public cloud with private IT infrastructure. That private infrastructure could be a private cloud or just a couple of servers in a closet. The important thing here is that "hybrid cloud" involves using your own hardware and public cloud services simultaneously.
This is an approach popular with users who have already invested in their own hardware and want to make full use of it while also building new systems using public cloud services.
It's also popular in scenarios where some sensitive data needs to stay in-house, but less sensitive systems can run partially or fully on the public cloud (to reduce costs or increase scalability, or sometimes both).
The two biggest reasons are reliability and scalability. Only the very largest organizations can build and maintain systems that are on par with a public cloud provider in terms of reliability and scalability.
Besides, almost no company that isn't itself a tech company (like Amazon or Google) can afford to build a globe-spanning network of data centers covering nearly every continent.
That said, the cloud isn't perfect for every single workload or scenario. In particular:
With that said, for the majority of users, the cloud's advantages outweigh most of the disadvantages. There's a reason so many businesses have already moved to the cloud. In particular:
If you come from the world of traditional IT, you probably have some concerns right now, including:
Let's try and address these quickly:
There's no foolproof way to avoid lock-in. The approach I recommend is to ask yourself a couple of questions when adopting any new cloud service:
Considering these questions carefully will help you decide whether or not to adopt a given service.
Let's take two examples:
First Example: NAT Gateway
Result: You should consider building your own NAT Gateway.
Second Example: SMS (Text Message) Service
Result: It's safe to buy this from your cloud provider.
I hate to say it, but using multiple clouds at once is usually going to be expensive and difficult: my usual recommendation is to only use one cloud provider at a time unless you have no choice. The one exception to this might be cases where you are using an API-based public Internet-facing service from one cloud provider, with your more complex application infrastructure on another. In that case, it's probably safe to run a "multi-cloud" architecture.
What you want to avoid is trying to run copies of your load balancers, application servers, databases, etc... across multiple clouds at once. It will be a lot of extra work for only slightly more reliability.
This is a touchy subject, but I'd say at the moment you want to be looking at:
In the maybe category, I would include:
We're talking here only about large-scale public clouds, not smaller VPS providers like Digital Ocean, Vultr, or Linode, though you might want to consider those for smaller projects.
That's it for this week! See you next week.
A Tangled Web: Advanced Networking on Alibaba Cloud - Friday Blog, Week 58
Accelerating Websites for Chinese Users - Friday Blog, Week 60
JDP - October 21, 2021
JDP - August 5, 2021
JDP - August 12, 2021
JDP - August 27, 2021
JDP - March 11, 2022
JDP - November 26, 2021
Highly reliable and secure deployment solutions for enterprises to fully experience the unique benefits of the hybrid cloud
Learn MoreAlibaba Cloud provides beginners and programmers with online course about cloud computing and big data certification including machine learning, Devops, big data analysis and networking.
Learn MoreApsara Stack is a full-stack cloud solution created by Alibaba Cloud for medium- and large-size enterprise-class customers.
Learn MoreThis solution helps Internet Data Center (IDC) operators and telecommunication operators build a local public cloud from scratch.
Learn MoreMore Posts by JDP