c-dustin-K-Iog-Bqf8E-unsplash 1.jpg

Cloud Computing for Humans

Guillem

6 reading minutes

I was tempted to put a more typical image above:

photo-1518646455738-c17d10184f5e.jpeg

But it turns out not everyone calls them clouds. Some people call this a sponge, a chocolate, a fringe, a ham, or even a marshmallow, anyway (you can write me or comment on LinkedIn if you call this something else I haven't included). I'm rambling, so to be clear, I'll start by explaining the reason for this post and then some everyday cloud computing concepts for humans .

Why talk about the cloud in 2022

This post arose after a lunch with a former theater classmate, who recently taught classes in a Master's Degree, and whose students complained that, after extensive training in some parts of IT, they had not been told anything about   The cloud   And then they would go to the different companies and within the first minute the first thing they heard about everywhere was the cloud. I was also inspired a bit later by this tweet from   Pol Rodriguez :

Which is something, on the other hand, in which we believe a lot, in bringing technology closer to all people, either by doing positive projects with social impact, such as   Credible , or by articles like these. For example, we have already written   Kubernetes for Humans ,   agile methodologies for humans   and   Docker for humans , for now.

Okay, so, having gotten the initial word out about us and a little bit about how this came about, I will say that when talking about this topic with many people outside the IT world, the cloud still seems a bit distant and ethereal, largely due to the name originally chosen.

What is the cloud in a paragraph

The cloud is someone else's machines and services, accessible from the Internet.

Listen, but when you put it like that, you're leaving out a lot of things. True, and things are getting more complicated, but originally, the evolution was to use your own machines in your data center, then to use your own machines in another company's data center, and then, when it was no longer a single data center and machines began to be virtualized, people started talking about the cloud, as infrastructure as a service.

The basic principle is economic and functional: managing machines is expensive and specialized. Unless you need to do it because it's already a core part of your business, it makes sense to outsource it. Furthermore, some of the infrastructure-as-a-service providers are companies like Amazon, Microsoft, or Google, which themselves need to use a large number of these services and, to a certain extent, already have all the knowledge and infrastructure, so it makes sense for them to sell that infrastructure as a service.

As we mentioned, at first, the cloud was essentially Infrastructure as a Service. Then it became more complex, with Software as a Service appearing first, and then, gradually, Platform as a Service providers emerged. To distinguish between all these things, we've created this table:

diferenciasiaaspaassaas.png

Table of differences between IAAS, PAAS and SAAS

We've highlighted in green the things that are pre-made for you in each case. That is, if the infrastructure is yours, you manage everything: servers, networks, storage, operating system, libraries, executables, code, and data. Infrastructure as a Service is a provider that gives you access to servers, networks, and storage, managed by them, but you'd have to manage the operating system, libraries, and so on for the different machines yourself. Platform as a Service, in addition to the above, gives you the operating system, libraries, and executables, managed by the platform itself; you'd only have to worry about the code and data. This last option, Platform as a Service, is the most complicated to understand; I'll explain it in more detail later.

For example, in Google Cloud you can hire a machine in   Compute Engine : and access a machine with specific physical characteristics (and from which you can choose pre-installed templates, for example, to install WordPress, or a specific operating system), but from which you will then have an IP, SSH access, and you take care of everything you want to install. This would be Infrastructure as a Service, because once the machine is created, you take care of everything else. If one day that machine fails, backups, reinstalling code, etc., it's your responsibility. The same goes for storage, in Google Cloud you have   Cloud Storage   With which you can pay only for the space you use. All of these services, of course, usually have a ton of advantages in terms of automation features that, if done on your own, would take a long time. For example, with Cloud Storage, it's very easy to configure files older than X date to be automatically deleted from a specific folder (or bucket), or to be moved to another folder with a cheaper storage type, etc.

On the other hand, in the same Google Cloud, you can hire the service of   Cloud Run   which would be an example of Platform as a Service, since you don't have to take care of the underlying machine, you just generate a Docker image and the Cloud Run service makes sure it's accessible. The latter, Platforms as a Service, are perhaps the most difficult to understand, because it seems difficult to separate the code and data from the machine on which they are going to run. This has been possible thanks to all the movement that has come between the virtualization of machines and execution in   containers . We explained it a little bit back in the day in   Docker for Humans , but basically you create a   package   with your code and data, and the platforms as a service are responsible for executing it and giving you an address to view the result or access it, a   endpoint   in English.

Another advantage of infrastructure providers is that you can choose from a wide variety of locations for your machines, have multi-location services, etc. In other words, here we've briefly reviewed some of the solutions available for infrastructure or platforms contracted with a third party, but you only need to take a look at Google's catalog:

googlecloudservices.jpg

Table with some of the services offered in Google Cloud

And this table does not have all of them, because for example   Cloud Run   the one we were talking about before, does not appear.

Much more than machines

One thing that stands out when looking at the table above is the number of service categories available, and, as I mentioned before, the number of new ones keeps growing. When people initially think of Google Cloud (or Amazon AWS or Microsoft Azure, which are generally very similar), they first think of third-party machines that you pay for. But today, there are a multitude of artificial intelligence, machine learning, big data, and other services available from the same provider.

Furthermore, for the same service vertical, these providers typically offer a very wide range of solutions, from basic Infrastructure as a Service services to more complex systems and Platforms as a Service, if applicable. For example, in the case of databases, you have the most basic access to Infrastructure as a Service, which would be   Cloud SQL   at Google, for example, where you can define database machines with PostgreSQL, MySQL or SQL Server, and you are responsible for setting everything up, noSQL databases such as   Datastore   and global distributed systems, designed for larger applications, such as   Cloud Spanner .

And that's all for now, which is no small feat. In future posts, we may go into more detail on some of the elements separately. Any questions or suggestions are welcome!

💡 En Softspring llevamos muchos años trabajando con Google Cloud, si tienes un proyecto que crees que podría beneficiarse de estar en la nube, tienes dudas con estos conceptos o quieres sugerirnos futuras publicaciones, escríbenos por twitter o a hola@softspring.es.
📫
Here’s today’s article. Feel free to reach out to us on social media as always, or at hola@softspring.es with any questions or suggestions!

Let’s work together!

Do you want to tell us your idea?

CONTACT US