What is the difference between cloud computing and serverless architecture

Updated: 2020-05-135 mins read
Mark
MarkCTO
Updated: 2020-05-135 mins read
Mark
MarkCTO

Nowadays, cloud-based internet solutions for almost everything globally exist and are available for every size business - not just large enterprise companies. Reducing the need for physical servers, maintenance and personnel, the cloud and serverless solutions are tempting for most companies and even lone developers as the easiest way to get their products and projects moving forward. But, what is the difference between cloud computing and serverless architecture? To answer the question, first we need to define what each one of them really means, so let's get started!

What is Cloud computing?

According to Amazon, cloud computing is the "on-demand delivery of IT resources over the Internet with pay-as-you-go pricing". So, what does it mean?

When you are using a cloud solution for your projects, you will have your computing power based on the internet instead of having your physical machines on-premise running the services. Although, the process of setting up, such as arranging the VPC and installing the required software, is still done by the client hiring the cloud services.

After the setup configuration, all the advantages of using a cloud-based solution start showing up, such as agility, elasticity and price reduction. Not having to buy tons of processing power for that one seasonal or cyclical traffic peak can offer huge cost savings - after all, why should we pay for idle computing capacity anyway?

What is Serverless architecture?

Cloud computing already seems super cool and efficient, but what if there is something even better out there? What if you could use everything you need without creating the services from scratch? This something is called serverless, and, according to Amazon, AWS already powers hundreds of thousands of businesses around the world. That represents the biggest market share in cloud infrastructure in 2019, serving 32.3% of the cloud users around the world!

The AWS serverless architecture is a form of cloud computing that provides the client everything they need without having to set up the system by themselves. Let's give an example of a function you need to run, like a "Hello World!". Using AWS Lambda, you can simply type the code you need to get running and execute it. As simple as that.

This kind of serverless infrastructure allows you to focus only on what you need to get done, instead of having to take care of the entire process to get there. Why configure an entire system if you just need to have a database running?

So, to put it simply, the main difference between cloud and serverless is?

Serverless architectures are cloud computing solutions that ease the process of deploying your product worldwide. Even though you have a little bit more flexibility managing your environment by yourself, having the option of running services without having to set up your system makes development and deployment a lot easier, expanding the time available to focus on other areas of your project or business.

One factor that is also important is the service uptime. Dedicated servers, both cloud-based and on-premise, tend to have a bigger downtime compared to AWS serverless solutions, mainly due to system failures. Going serverless solves this problem, because if a piece of hardware malfunctions, it is replaced immediately without you even knowing that it happened. Also, if for some reason AWS has an uptime lower than 99.9% for its services, their service terms will issue a credit for the next bill, as a payback for the lack of availability.

CASE STUDIES

Unified enterprise IAM and zero-downtime migration