×
Community Blog Why Cloud? - Friday Blog, Week 59

Why Cloud? - Friday Blog, Week 59

Learn the "what" and "why" of cloud. This week's post is for the newbies!

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!

What Is "The Cloud"?

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.

How Many Types Of "Cloud" Are There?

In general, there are three:

  1. Public
  2. Private
  3. Hybrid

1. Public Cloud

"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.

2. Private Cloud

"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.

3. Hybrid Cloud

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).

Why Use Cloud?

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:

  • If you need cheap but relatively fast storage, sometimes buying your own disks or SSDs will be cheaper than renting them from a cloud provider
  • If you are an enormous entity (like TikTok or Facebook), you might have the expertise to build cloud-style system in-house. At this scale, it might even be a good idea.
  • Not every cloud product is going to be better, more customizable, or even cheaper than something you could buy yourself or get from a third party (NAT Gateways, VPN Gateways, and Bastion Hosts come to mind...these tend to be more expensive when bought from your cloud provider than built yourself).

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:

  • Cloud providers can often supply services you would struggle to build on your own (customer support chatbots, image recognition systems).
  • You can get started on the cloud in an afternoon without buying any hardware, which is a big advantage for developers experimenting with something new or testing out an idea.
  • Cloud providers will let you scale worldwide without having a presence worldwide (you can typically use a cloud provider's data centers in any region, regardless of where you are based).

What Should I Worry About?

If you come from the world of traditional IT, you probably have some concerns right now, including:

  1. How do I avoid vendor lock-in?
  2. Should I use more than one cloud provider at a time?
  3. Which cloud providers should I spend time learning / getting certified in?

Let's try and address these quickly:

1. Avoiding Lock-in

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:

  1. Could I realistically replace this service with a third-party service? If so, how much work would it be?
  2. Is this service something I could build myself? How much work would that be?
  3. Is the service critical to my application?
  4. Is the service affordable? Has the price changed before?

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

  1. Could you realistically replace your cloud provider's NAT Gateway with a third-party service? Yes: Third-party NAT Gateway software exists and can run on a Virtual Machine.
  2. Could you realistically build a NAT Gateway on your own? Yes: open-source software exists that would allow you to do this.
  3. Is the service critical? It depends on your architecture, so let's say maybe.
  4. Is the service affordable? It depends. In general, building your own NAT Gateway will be cheaper.

Result: You should consider building your own NAT Gateway.

Second Example: SMS (Text Message) Service

  1. Could you realistically replace your cloud provider's SMS service with a third-party service? Yes, third-party SMS APIs (like Twilio) exist and are affordable.
  2. Could you realistically build this on your own? No, it would be very difficult to integrate with a telecom system on your own.
  3. Is the service critical? Yes, if you are using SMS verification for login or payments or the like, then it is mission-critical.
  4. Is the service affordable? Generally yes.

Result: It's safe to buy this from your cloud provider.

2. Using Multiple Clouds

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.

3. Which Clouds Matter?

This is a touchy subject, but I'd say at the moment you want to be looking at:

  1. Amazon AWS
  2. Alibaba Cloud
  3. Microsoft Azure
  4. Google Cloud Platform (GCP)

In the maybe category, I would include:

  1. Oracle
  2. IBM

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.

0 0 0
Share on

JDP

66 posts | 76 followers

You may also like

Comments

JDP

66 posts | 76 followers

Related Products