DEV Community

Neha Sharma
Neha Sharma

Posted on

Introduction to Cloud Computing Services

What is cloud computing?

Cloud computing means instead of having on-premises servers, and networks to host the applications, and run the business one can use the internet to deliver the services. It is not on-premises but would be leveraging 3rd party system.

Cloud computing is popular and powerful. It is not just related to ‘hosting’ app(s) or configuring a few server(s). Cloud is vast and a lot of services and opportunities one can do. Cloud computing is cost-effective, scalable, flexible and easy to maintain

Traditional Design

In traditional design, we leverage the on-premises solutions to build the servers and host the applications. This is about leveraging the physical system.

Cloud is a shared responsibility. It is a shared responsibility between the cloud users/consumers, and providers. below is the diagram to show the shared responsibilities:

Image description

There are 3 types of cloud computing:

1. IAAS: Infrastructure as a service

IAAS is an on-demand, highly scalable infrastructure. IaaS is fully self-service for accessing and monitoring computers, networking, storage, and other services. Clients here are not responsible for the network, storage, server and virtualization but only responsible for the application, data, middleware, and OS.

The IAAS delivered through virtualization. Companies generally get a dashboard or APIs to use the IAAS. Clients can access everything as the physical data centre but online.

Pros Cons
More control: As only the network layer is owned by the cloud provider consumers have more access to the solution. security: Consumers are depends on the cloud SLA
Scalable: network layer can be easily scale. Responsibility: The organization is solely responsible for any upgrades of software and maintenance of tools or data systems.
Automation: Automation helps in avoiding a lot of heavy-lifting by the consumers or providers. Training cost:
and a few more... and a few more...

Example: AWS, Azure, GCP

2. PAAS: Platform as a Service

Platform as a Service: Here the AWS (cloud provider) is responsible for the Platform (network, storage, middleware, operating system, updates) and the user’s responsibility is application and data. In PAAS the platform is provided to the developers to create their apps.

Pros Cons
Scalable: Easy to scale the infra as per the demand. Data: Data is on the cloud and the consumer/organization needs to take care extra to assure the data is secure. As well as, if the priority is to develop a secure application then keeping data on the cloud won’t be a good idea.
Cost-effective: As organization we will save the upfront cost of installing infra on-premises and would be paying only for what will be used. Integration: PAAS providers can have some 3rd party integration and the user/organization could have limited access to that.
High performance and availability: Cloud providers would be guaranteeing high performance and availability which would be harder to achieve otherwise vendor lock-in: There is a vendor lock if any solution takes the PAAS. As a result, the user/organization needs to stay committed to the particular vendor only
Automation: Everything is automated
Ease of development:PAAS provides ease of development. A lot of heavy lifting is done by cloud providers. Cloud developers/organization will be exposed to only an easy UI
Easy migration: PAAS provides an easy way migration from on-prem to the cloud and vice versa
and a few more... and a few more...

Example: IOT solutions can be made using PAAS, Micro-services development, and running storage such as S3

3. SAAS: Software as a Service

Software as a Service: SAAS is where the cloud provider (AWS) manages everything and the user (we) use it. Cloud provider manages everything from the network to the OS to the platform. This is delivered over the internet to the users. SAAS eliminates the need for users to download anything on their system.

As you can see in the picture. Everything is managed by the cloud provider only. This is a powerful way to leverage the cloud.

Pros Cons
Cost: Saving upfront cost for the developers and organization No control: We don’t have control over any of the layers. Everything is now with cloud owners
No Maintenance: No need to worry about the maintenance, setting up the infra etc. Lack of integration: It would be hard to integrate any 3rd party service
Easy scalable: Very easy to scale. As everything is on the cloud, as per the demand Data security: As of now the data would be on the cloud and with the owner. We will be dependent on the cloud for the security
Access from anywhere: Cloud is available on the internet and can be access from anywhere from the world. Performance and downtime: If there would be any downtime in the cloud then we can’t do anything. For improving performance also we won’t have any opportunity to do as end to end whole solution is owned by the cloud owners
Fast Market Time: SAAS lets the companies to move to the market faster with their product. As everything is managed by the cloud, users can focus on the core business Vendor dependency: Vendor lock comes with SAAS too. As a result, consumers would be dependent on the cloud for everything
and a few more... and a few more...

Example: Google Docs, Slack, GoToMeeting etc.

Here is a summary for you:

IAAS PAAS SAAS
What infrastructure as a service platform as a service software as a service
Who architects developers end-users
Owner manage by the user manager by the user manage by the vendor
Example AWS, GCP AWS EBS Google doc
Cost $$ $$ $

Discussion (0)