Home » Glossary » What is Cloud Computing

What is Cloud Computing

Cloud computing is a way to rent Information Technology (IT) resources, like storage space or Processing/CPU, on another company’s computers. 

The company providing these services is referred to as a cloud provider. Examples of Public Cloud providers are; Microsoft with Azure and Office 365, Amazon with AWS, and Google with Google Cloud and G Suite. 

The key benefit is that you only pay for what you use.

The cloud provider in most cases is responsible for the physical hardware, and the location (Data Centre) and for keeping  the hardware up-to-date.

The computing services offered tend to vary by cloud provider. However, typically they include:

    • Compute power– such as Linux servers or web applications
    • Storage– such as files and databases
    • Networking– such as secure connections between the cloud provider and your company
    • Analytics– such as visualising telemetry and performance data

 

Cloud computing services

The primary objective of an organisation using cloud computing is to make running a business easier and more efficient. Whether the organisation is in Education or a business such as small start-up or a large enterprise. Every business is different and has different needs. In order to meet those organisational needs, cloud computing providers offer a wide range of services.

It is helpful if you work with a Consultant, or if you have a basic understanding of some of the services it provides. Below we will look at the two most common services that all cloud providers offer – compute power and storage.

Compute power

When you book a reservation on the Internet, pay a bill online, send an email or just browse the Internet you interact with cloud-based servers which process each request and return a response. As a consumer, we’re all dependent on the computing services provided by the various cloud providers that make up the Internet.

When you build solutions using cloud computing, you can choose how you want work to be done based on your resources and needs. As an example, if you want to have more control and responsibility over maintenance, you could create a virtual machine (VM). A VM is not a physical server, it is an emulation of a computer – just like your desktop or a laptop. Each VM includes an operating system and hardware that appears to the user like a physical computer running Windows or Linux. You can then install whatever software you need to do the tasks you want to run in the cloud.

The difference with cloud computing, is that you don’t have to buy any of the hardware or install the Operating System (OS). The cloud provider runs your virtual machine on a physical server in one of their datacenters – often sharing that server with other VMs (of course everything is kept isolated and secure). With the cloud, you can get a Virtual Machine Server (VM) up and running in a matter of minutes, at less cost than a physical server/computer.

There are also other options for providing computing resource. As well as VMs there are two other popular options: containers and serverless computing.

What are containers?

We have a glossary page for the two main containers Kubernetes and Docker specifically. However in essence containers provide a consistent, isolated execution environment for applications. They are similar to VMs except they don’t require a guest operating system. The application and all of its dependencies are packaged into a “container” and then a runtime environment is used to execute the application itself. This has huge flexibility and performance benefits, and allows the container to start up in just a few seconds, because there’s no OS to boot and initialise. You only need the application to launch.

Docker, is one of the leading platforms for managing containers. Docker containers provide a really efficient, lightweight approach to application deployment because they allow different components of the application to be deployed independently into different containers. This is really scalable and allows multiple containers to be run on a single machine. In addition containers can be moved between machines. This portability makes it easy for containerised applications to be deployed in multiple environments, either as infrastructure on-premise or in the cloud, very often with no change to the applications.

What is serverless computing?

Serverless computing lets you run application code without the need to create, configure, or maintain a server. The principle is that your application is broken into separate functions that run when triggered by an action. This type of application delivery is ideal for automated tasks like building a serverless process that automatically sends an email confirmation after a customer buys something online.

The serverless model is different from containers and VMs in that you only pay for the processing time used by each function as it executes it. By contrast VMs and containers are charged while they’re running – even if the applications on them are idle.

It is worth remembering that Serverless computing architecture does not work for every app. However when the app logic can be separated to independent units, you can test them separately, update them separately, and launch them quickly and efficiently. This makes serverless computing the fastest option for app delivery and deployment.

Below is a diagram comparing the three compute options of VMs, containers and Serverless computing.

Storage

In the digital world we live in, almost all devices and applications read and/or write data. Some examples are:

    • Taking a picture
    • Sending an email
    • Leaving a voicemail
    • Looking up something on the internet or an online shop

 

In all of these cases, data is either read or written (looked up something online or save a picture to iCloud. The type of data and how it’s stored can be different in each of these cases.

Most cloud providers and certainly the Big3 (Amazon, Microsoft and Google) typically offer services that can handle all of these types of data. As an example, if you wanted to store text or a video clip, you could simply use a file on disk. If you had used something like an address book you would use a database to hold the relationships.

The biggest benefit in using ‘the cloud’ to provide these services is the ability to scale to meet your needs. The alternative would be to buy data storage capacity now, with enough space for growth over let’s say the next 3-4 years, and use it as you grow and store more (that’s not a great investment or use of capital). But with cloud storage, when you need it, you pay a bit more and add to your available as and when you need it. Some providers also allow you to flex both up and down, so you truly only pay for what you are using and need.

Summary

Cloud computing is extremely flexible and cost-efficient. The scalability and flexibility can be beneficial to every type of organisation, whether it’s Education, a small start-up or a large enterprise.

For more information on how our Semantic Technology Consultants can help your business with reviewing the right solution, and your Cloud planning, design and migration project contact us today

We will arrange an initial call back, talk through options and discuss the next steps