About my blog

I write about the technical and non-technical aspects of software development

How it works

Microsoft ASP.NETASP.Net
BlogEngine.NET BlogEngine.NET
Azure DevOpsAzure DevOps

Contact info

 Email
 Contact

Follow me

Prod-20240407.1

Cloud basics

The 'cloud' seems to be everywhere these days. But what is it? Put simply, the cloud is a technology through which you can "rent" IT and software resources on a pay-as-you-go or subscription basis.

Cloud basics

The 'cloud' seems to be everywhere these days.  But what is it?

Put simply, the cloud is a technology through which you can "rent" IT and software resources on a pay-as-you-go or subscription basis.

The cloud may appear to be a nebulous and esoteric concept from the user perspective, but at it's core is a gargantuan network of actual hardware. The 'engines' of the cloud consist of datacentres running thousands of actual, physical servers, upon which businesses and customers execute their applications and store their data.  

All cloud providers have huge datacentres dotted around the world. The image in the banner at the top of this piece is the interior of a datacentre, showing the vast number number of racks each filled with several servers.

The datacentres themselves are vast complexes that provide power, cooling, maintenance and monitoring of all this hardware as well as the operational software of the cloud itself.  Below is an image of a Microsoft Azure datacentre.

Cloud datacentre

Datacentres in turn are all interlinked by fast, high-bandwidth connectivity so that users in virtually every part of the world can connect up to their nearest geographical location for faster access to cloud services. Microsoft Azure for example, maintains several 'regions' of datacentres across the world as shown below.

Azure regions on map

So how does it work?

The cloud comes in essentially three 'flavours':

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
Infrastructure as a Service (IaaS)

IaaS is how you can complement or replace your on-premises hardware with virtual systems in the cloud. Specialists can create virtual desktops and services inside virtual networks, secured and configured with virtual gateways and routers, all without purchasing any physical hardware!

With IaaS, you as the cloud customer are still responsible for configuring and maintaining your virtual devices.  This can still entail a significant operational overhead for some organisations.

So why do it?  What's wrong with using your own physical infrastructure?

Consider how much time it takes to specify, order, take delivery of, install and configure a physical server. A few weeks? Then think of the effort to maintain it, and securely dispose of it at the end of its life.

How long would a similarly specified Virtual Machine (VM) take to install? A few minutes. When you're finished with it, you simply delete it.

 

 
Platform as a Service (PaaS)

PaaS means that Azure manages the resources you want to use as a "platform" upon which you build your line-of-business applications. The concept of the 'platform' means you don't have to concern yourself with managing virtual infrastructure such as you would with IaaS. Your operational resourcing can be reduced.

With PaaS, the focus is on the service, e.g. storage, not on infrastructure, e.g. file server.

Instead of a virtual web server, you host your website on an App Service. Instead of a virtual database server, you use SQL Azure. Instead of a virtual file server, you use Azure Storage.

So why might you use IaaS at all? 

When clients first migrate applications to the cloud there may be backward compatibility issues - particularly with older applications - meaning the application may not run on the cloud.  In these cases it is still feasible to relocate the application as-is to the cloud but 'wrap' it within a virtual infrastructure so it 'thinks' it is still running on a real server.

Another reason is that occasionally a customer may have very specific infrastructure requirements which cannot be met within the general parameters of the platforms.  In that case the customer may choose to use IaaS for finer control over the infrastructure.  

 
Software as a Service (SaaS)

Saas is something we're all used to, even if we may not know it by that term.

Simply put, if you pay a subscription to use software or services hosted online, you are using SaaS. Examples of SaaS are Microsoft 365, Quickbooks and Hubspot.

Software vendors will generally run their software - websites, web applications, mobile services, APIs etc - in IaaS or PaaS (and sometimes a hybrid of the two), then offer access to the applications to their users on a subscription or pay-as-you-go basis. 

As consumers of SaaS, users often have no reason to install, store or update the software: it is offered as a 'service', and users can remain oblivious of the platform and infrastructure that is processing and storing their data.

 In addition to these three, vendors have also coined a number of other "as-a-Service"-isms. For example

  • DbaaS: Database as a Service
  • AIaaS: Artificial Intelligence as a Service
  • DRaaS: Disaster Recovery as a Service
  • WaaS: Workspace (i.e. virtual desktops) as a Service
  • IOTaaS: Internet Of Things as a Service
  • XaaS: Anything as a Service! (really?)

In my opinion these are all essentially marketing terms, and are technically specific implementations of one of the three core systems I explained above.

If you need any help clarifying the cloud or how it may help you or your business, why not get in touch?


You Might Also Like


Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *

Comments are closed