Why Cloud?
Let's say that we want to create an organization and to create an organization we need a lot of infrastructure to buy such as servers, routers, storage devices, switches, desktops, etc. and that will cost us a lot.
Don't know how much infrastructure we will be able to use or we require so it might be possible that we may buy extra infrastructure or less infrastructure than we need.
Let's assume that I came up with a business model of e-commerce and where I am launching a sale twice a year so once the sale is on there will be a lot of users hitting our application and to provide latency and efficiency to the application we will buy more resources and then we will add it to our business but once the sale is over the extra resources will be no use until next sale. So it is a waste of money and resources.
To avoid such problems we prefer we use cloud infrastructure where we don't need to think of resources and their management. We just focus on our business.
Introduction
Cloud computing is the on-demand delivery of computing power database storage, applications, and other IT resources.
Through a cloud service platform with pay-as-you-go-servicing.
We can provision exactly the right type and size of computing resources you need.
We can access as many resources as we need almost instantly.
It is a simple way to access servers, storage, databases, and a set of application services
Amazon Web Services (AWS) owns and maintains the network-connected hardware required for these application services while provisioning and using what you need via the availability.
Some good examples of Cloud Services are -
Gmail - An email cloud service where we need to pay for emails stored (no infrastructure etc.)
Dropbox - It is a storage service which is originally built on AWS using an S3 bucket.
Netflix - The entire application is based and built on AWS using Video on Demand
Deployment Models
In cloud computing, a deployment model refers to the way cloud services are provided and distributed to users, organizations, or applications. There are several deployment models, each with its own characteristics, advantages, and use cases. The common deployment models include:
Private Cloud:
- Cloud service used by a single organization not exposed to the public for example Rackspace.
- Organizations owning the private cloud have complete control of their infrastructure.
- It provides high security for sensitive application
- It is owned by those who need specific business needsPublic Cloud:
- Cloud resources owned and operated by a 3rd party cloud service provider delivered over the Internet. For example: AWS, GCP, and Microsoft Azure.
- There are multiple advantages of the public cloud**.**
- It can be used by anyone over the planet and can implement their services in their application/organization.Hybrid Cloud:
- It consists of both private and public cloud where some servers are kept on premises and extended some capabilities to the cloud
- Can control the sensitive assets in your private infrastructure
- Provide flexibility and fast effectiveness of public cloud.
Characteristics of Cloud Computing
On-demand self-service
- Resources and use them without human interaction from the service provider
Brought network access
- For the softest available on the network and can be accessed by diverse client platforms.Multi-tenancy and resource pooling
- Multiple customers can share the same infrastructure and applications with security and privacy.
- Multiple services serviced from the same physical resources.Rapid elasticity and scalability
- Take me quickly acquired disposed of resources when needed.
- Quickly and easily scaled based on demand.Measured services
- Usage is measured, and users pay correctly for what they use.
Advantages of Cloud Computing
Increase Speed and agility
Prices are reduced as AWS is more efficient due to larger scale
Pay on demand don't own hardware
Reduce total cost of ownership and operational expense
Go global in minutes and leverage the AWS infrastructure.
Can scale based on usage as required.
Problems Solved By Cloud
Flexibility: Change resource type when needed
Cost-effectiveness: Pay as you go for what you use
Scalability: Accommodate larger groups by making harvest stronger or additional nodes
Elasticity: Ability to scale out and scale in when needed
High availability and fault tolerance: Build across multiple data centers.
Agility: rapidly developed test and launched software applications.
Types of Cloud Computing
There are three types of cloud computing:
Deployment of Application On Premises require -
Application, Data, Runtime, Middleware, OS, Virtualization, Servers, Storage and Networking
Infrastructure as a Service (IaaS)
Building blocks for cloud infrastructure
Provides networking computers data storage space etc.
Provides a high level of flexibility.
Easy parallel with traditional on-premises Infrastructure
One of the best examples of infrastructure services Amazon EC2.
Platform as a Service (PaaS)
Remove the need for your organization to manage the underlying infrastructure.
Focus on the deployment and management of your applications.
Example - Elastic Beanstalk (AWS), Google App Engine (GCP), Windows Azure (Microsoft)
Software as a Service (SaaS)
It is a completed product that is run and managed by the service provider
One of the best examples of software service-based applications is Google Drive where we don't need to create and config storage devices, we just need to create an account and we are all set to use the storage service.
Example - Many AWS Services (ex. Rekognition for Machine Learning) and Google Apps (Gmail), Zoom and Dropbox