Cloud Computing ☁️

How to add cloud computing to your products
May 26, 2023

‍If you’ve ever tried exporting movie clips on your laptop or done some kind of heavy calculations on your laptop, you know the struggle of not having a fast enough computer.

Cloud Computing aims to solve that problem by offering an online solution, a computer  which you can often access remotely to operate your calculations. This is often the case for complex computational tasks such as machine learning and data oriented goals.

What is cloud computing?

Cloud computing is the delivery of on-demand computing resources, most of the time processing power but also storage units, typically done online and on a pay as you go basis.

To explain all of this, cloud computing aims at lending a computer, for resource purposes, such as calculations and storage. This proves indispensable for large operations and fields such as machine learning or research.

This costs a certain price which is based on the resources used, generally, providers don’t charge an upfront fee but look at your usage, particularly if you use a dedicated graphics card or any type of specialized hardware.

Often times, in data focused environments such as data engineering, machine learning and statistics, lots of data is required, this takes up a lot of space, and a GPU or Graphical Processing Unit, a microprocessor optimized for certain types of operations, typically found in data science where large amounts of calculations can be run in parallel. These units are expensive and cloud computing helps bring them to a public that wouldn’t want to purchase dedicated hardware.

Cloud computing has a few characteristics:

  • On-demand self service
  • Resource pooling
  • Up to date
  • Easy and convenient access
  • Measured access

First off, as a user, having an online cloud computing service facilitates a lot of the time consuming steps you would need in order to have a working cloud server. You don’t have to purchase a server, wait for it to arrive, configure it, get it online etc… The procedure is much simpler and supposing you have the right files already prepared and ready to go, you could get your server running in less than half an hour.

To the cloud provider, having a lot of users means you don’t have to reserve a server for a particular client, you can share your resources and ensure maximum efficiency. This minimizes costs but also means that as a user you might not have the same hardware in between sessions, which can be problematic in certain cases. To the provider, it also means that they can carry an update directly to their clients with ease.

In fact, having your own servers means you have to maintain them, make sure they’re up to date and secure. As a user, all of that complicated maintenance is left out, you only have to focus on your service. This also means you have less control over your data and what you share with the hosting company.

Having a cloud computing service as opposed to a local computer means you can access it anywhere in the world provided you have an internet connection. This means you could technically do heavy calculations while on the go, in a train or in the back seat of a car, even letting it run in the background while your personal laptop’s computational resources aren’t leveraged.

As a cloud solution provider, every input and action of your users can be measured. While that might sound creepy, it ensures that clients have a detailed bill and that they only pay for what they’ve used. On AWS, a famous cloud provider, bills are broken up into different categories which allow clients to carefully monitor their usage.

How does cloud computing work?

If you ever want to carry out heavy calculations or need a lot of computational power, the easiest step to get started and to make sure your idea is feasible and will work as planned is to start on Google Collab or Google Cloud.

Both of these are free Google services that work around Jupyter Notebooks. They allow users to either access a command line and operate a remote PC or execute lines of codes through the Jupyter Notebook.

The interesting feature behind Google Collab is the fact that you can use a GPU, while not a super powerful one and with limited time, it's still a great offer to test out your configuration and ensure everything is working as intended.

If you plan on going with cloud computing, you first have to list your needs, is security of primary importance to you ? How about speed ? How about availability ? Resources ? What computational power do you need ? etc…

The next step is to figure out which service provider best fits your needs, go through the most famous ones to find out, their offers constantly change as competition in the sector is incredibly fierce : AWS, Microsoft Azure, IBM, Oracle

Cloud computing is still a developing field, actors try to provide easy, cheap and reliable access to online resources. Be it computational power, storage or graphical renders, most top services provide all of these services. The aim is for users not to worry about maintenance, updates and other server related issues, making it extremely efficient for the user. By doing so cloud providers get users that rely on their services, they then get monthly payments for keeping their servers online at all times, ensuring their security and providing a reliable service.

Ready to build with us?

Let's make it happen

Spill the beans about your problem, challenge, intuition... and we'll bring a solution to life at lightning speed.