What is the cloud? Why do we care? It’s been a long time since it was just another buzzword, and yet there are a good few companies that have not moved their resources to the cloud.
What is the cloud?
In essence, the cloud is nothing more than renting resource from another companies computers. It doesn’t matter if you’re renting storage space, CPU cycles, or applications, whoever you’re renting from is referred to as a cloud provider.
And while the services offered differ from provider to provider, typically they include:
- Compute power
In the end, the goal of cloud computing is to help you run the business easier and more efficient. The reality is that many companies have large datacenters, and these come at a cost. Typically, the cloud can do it cheaper than most companies, since cloud providers have the benefit of scale. It does require you to think about how to utilize the resources most efficiently, as a “lift and shift” of your workloads is going to result in a nightmare bill.
So why should I care?
Cloud computing has never been an ‘all-or-nothing’ approach. As a company, you can choose to use the cloud full-on, or pick and choose only components offered by cloud providers. Most of the time, we see a gradual movement of resources to save mony on infrastructure and administration costs for existing companies.
Generally, it’s cost-effective
Cloud computing is a consumption-based pricing model. So you never pay for resources you don’t use. There are no upfront costs to buy servers and licenses, you can expand the services when required, and shrink the infrastructure if needed.
That gives companies a far better way of cost prediction. Since you know when you can expect peaks (f.e. a big marketing campaign, or the holiday season) you can scale up in advance. And through historical usage tracking, analysis to predict future growth becomes far easier than it ever was on-premises.
With cloud computing you can increase or decrease the resources and services that are used, at any given time. Using vertical scaling, you add more resources to increase the power of an existing server. And in the case of horizontal scaling, you add more servers/resources to a set, so it can better leverage incoming requests.
And while you can scale manually, it can also be done automatically based on specific triggers; such as CPU usage, or the number of incoming requests. As you probably already realized, this does require a different mindset from the on-premises world.Often you see that existing applications need to be reworked to take full advantage of the capabilities provided by a cloud provider.
A rubber band!
The cloud is elastic. All this means is that as your workloads change, the cloud systems can compensate by adding or removing resources.
And yes, it’s current…
Depending on what resource you use, you’ll nearly always have the most current version running. The only exception to this is when you’re using Infrastructure as a Service resources, since you manage the Operating System side of things here.
Hardware will always be managed by the cloud provider. So if a hard drive fails, you don’t need to worry if your support contract is still valid, and if you can reach whoever sold you the device.
When you run a business, or support one, you want to be confident that the data is always going to be there. Cloud services can provide you with data backup, disaster recovery, and data replication services to ensure everything is sage. Redundancy is often built in to the service. So if one component fails, a backup component takes its place without impacting customers.
All around the world
Cloud providers have fully redundant data centers located all over the world. This allows you to have a local presence, close to your customers, no matter where in the world they are. Services can be replicated in multiple regions for redundancy and locality if you desire. Or stay in a specific region so you meet data-residency and compliance laws.
Security is on everyone’s mind. Nobody wants to hit the headlines with a data leak! Cloud providers often give you a broad set of policies, technologies or controls. This so you can achieve better security than most organizations can otherwise achieve. And there is no need to worry about physical security, as these data centers are harder to get in to than some military facilities…
We can clearly differentiate 3 types of cloud services:
- infrastructure as a service (IaaS)
- Platform as a service (PaaS)
- Software as a Service (SaaS)
Each of these categories are layers based on top of each other. PaaS will add a layer on top of IaaS to provide a level of abstraction.This hides the details that you could care less about, allowing you to get to coding and deploying quicker. it does mean that you also have less control over the underlying hardware…
Comparing this pretty table (from Microsoft) makes things easier to understand:
- IaaS requires the most management of all cloud services. As consumer you are responsible for managing the operating sustem, data, and applications.
- PaaS requires less management. The cloud provider will automaticcaly manage the operating systems, and you are responsible for the applications and data they run and store.
- SaaS requires the least amount of management. The cloud provider is responsible for managing everything, and the end user just consumes the software
Combine and profit?
It is possible to combine cloud services to fit your needs. F.e. You could use Office 365 on the company’s computers, and host VMs (IaaS) and Azure SQL Database (PaaS) in Azure to store data. It’s also possible to run a hybrid, where you have services hosted both on-premises, and in the cloud provider.