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:
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 | $$ | $$ | $ |
Top comments (1)
Loved the summary