Posted on June 7, 2021 by Adrian Wyssmann ‐ 8 min read
As always, let’s see what Wikipedia has to say
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user.[2] cloud computing is commonly known as delivery of computing services including servers, storage, databases, and intelligence over the Internet.The term is generally used to describe data centers available to many users over the Internet.[3] Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an edge server.
This means you don’t have your own hardware, but use services which are running in a datacenter. You only pay for what you use (“pay-as-you-go”) and you don’t have to worry that the hardware is up and running. Some of the prominent cloud provider, which I tried out so far:
The first three offer more or less similar services which go beyond [compute resources] and storage, whereas the other have less to offer and focus more on [compute resources] and storage.
No investment in hardware
You rely on some others hardware i.e. the cloud-providers one. so you don’t need to buy your hardware or everything else that is required to have a server farm
No maintenance, more reliability
Scalability
You can easily add additional resources when needed without the hassle or purchasing additional hardware yourself - this includes vertically scalability (adding additional resource like RAM and CPU), as well as horizontally scalability (adding more machines)
Agility
Cloud resources can be deployed and configured quickly and when you need it - no wait time until your purchased hardware is here
Geo-Distribution
Applications and data can be deployed to regional datacenters around the globe, so your customers always have the best performance in their region.
Disaster recovery
Being able to use geo-distribution and data replication you can have your application deployed in different locations, which facilitates recovering from a disaster
With the adoption of cloud services, the concept of everything as a service (EaaS, XaaS, *aaS) has emerged. There are different service model:
These models differ in the level of shared responsibility that a cloud provider and cloud tenant

When speaking about cloud, there are different Deployment Models:
The significant difference from public to private cloud is the responsibility and the significant physical footprint it imposes for your company. Cause you need hardware (servers, networking components, …), space to place the hardware and environment controls (ventilation, backup-power-generators, …). Beside your hardware has to periodically refreshed or replaced in case of failure.
There are some other models like multi cloud, High-Performance Computing (HPC) cloud or Community cloud.
Despite the advantages of cloud, moving or migrating an existing on-premise is not an easy task. First you have to understand the services and resources offered by the service in order to think about how, what and when you can migrate an on-premise resource. In addition, it’s also important to understand the concerns and disadvantages. Some of these concerns are also valid for your on-prem infrastructure, but the main difference is that as a tenant you certainly do not have the same permission/access and insights as you have with your own infrastructure (hardware):
data may be processed or remain on systems in different regions and thus may fall under different jurisdiction - some providers address these with “regions and availability zones”
legal requirements on where to store data have to be met - in Switzerland for example, privacy law demands that private data, including emails, be physically stored in Switzerland
legal issues like including trademark infringement, security concerns and sharing of proprietary data resources
One important but not often mentioned problem with cloud computing is the problem of who is in “possession” of the data. If a cloud company is the possessor of the data, the possessor has certain legal rights. If the cloud company is the “custodian” of the data, then a different set of rights would apply. The next problem in the legalities of cloud computing is the problem of legal ownership of the data. Many Terms of Service agreements are silent on the question of ownership
achieving certification may be more difficult or maybye not possible with pure cloud approach - however bigger cloud operators also offer compliant services
Some of these concerns may be addressed - especially by prominent cloud providers, but there are still valid concerns, so keep them in mind when you are looking to go into the cloud. The book securing the cloud is also worth reading to get a better understanding of some concerns and mitigation to it.
serverless computing is another form of cloud service, but despite the name, servers are actually required to perform the computing. However, serverless means that the cloud provider takes care of the underlying hardware (provisioning, maintenance), and the developer only has to focus on the code which has to be run on top of the servers. The code is often optimized to react on triggers to perform some actions - thus serverless platforms may also be called Function as a Service (FaaS) platforms. It’s also cheaper in pricing, as you only pay for the resources you use during which your code consumes resources.
Some of prominent serverless platforms:
I wrote this article to get an overview of cloud computing and the main terms. As a next step, at least for me, is to dig into Microsoft Azure, which is the cloud provider of choice for my current employer.
Privately I use Hetzner Cloud. It offers far less services than Azure - the main focus is compute resources and storage - but the pricing is amazing, especially if you plan to have use them for your personal projects. If you decide to give it a try, you may use my Hetzner Referral Link so you get € 20 in cloud credits