Module Six Cloud Computing-1
Module Six Cloud Computing-1
1
ON-PREMISE
• Computing infrastructure is onsite
• Servers/Computers
• Network Routers
• Disk Storage
• Disaster recovery internally managed
• Backups
• Standby systems
• Computing capacity supports maximum utilization
• Cost incurred for unused capacity
S I M P L E C L I E N T- S E R V E R
ARCHITECTURE
On-Premise
Client
Server Database
S C A L A B L E C L I E N T- S E R V E R
ARCHITECTURE
On-Premise
Server
Server
INFRASTRUCTURE AS A SERVICE
(IAAS)
• Computing infrastructure is offsite
• Owned and managed by a cloud provider
• Customers rent physical servers (computers)
• Control and update servers remotely
• Pay only for time used
• Rent request done via a web page or programmatically by making API calls
• Provision request fulfilled in minutes (provisioning)
• Advantages
• Customer can dynamically adjust computing capacity
• For the typical customer, cheaper than building on-premise computing facility
IAAS
Cloud
Server
Server
OBJECT STORAGE SERVICE
• Most clients download static resources
• Examples:
• Images
• HTML
• Javascript
• Scaling the download of static resources by renting more servers is expensive
• Servers not utilized for compute, but storage
Server
Client Server
Object Storage
Service
CONTENT DISTRIBUTION
NETWORK (CDN)
• Clients are distributed across continents
• Downloading static resources from an object storage service in another continent can be slow.
• Content Distribution Network (CDNs)
• Cloud provider has servers that cache static content across the world
• Servers are known as edge servers
• Caching works as follows:
• Client requests static content from the CDN
• The CDN routes the request to the nearest edge server
• If edge server has cached static content, edge server returns static content to client
• Otherwise, edge server retrieves static content from the object storage service, caches the content, and
returns the content to the client
• If a certain amount of time elapses before a static content is requested by a client, the static content
expires, which means it is removed from the cache
CDN + IAAS + OBJECT STORAGE
SERVICE
Cloud
US Edge
Client in Server
USA
Server
Server
Client in Ethiopia
Edge Server Object Storage
Ethiopia
Service
P L AT F O R M A S A S E R V I C E ( PA A S )
• IaaS
• Customer rents servers
• Customer configures and installs software on the servers
• Customer manages security and software updates on the servers
• Customer manages backups and disaster recovery
• PaaS
• Cloud provider manages servers
• Cloud provider provides managed servers configured with product types
• Example: Managed Oracle database server
• Customer does not have remote access to servers
• Customer interacts with servers via application APIs (Example, Oracle API)
• Advantages:
• Cloud provider manages software updates and security of server
• Cloud provider manages backups and disaster recovery
V I R T U A L P R I VAT E C LO U D
• Some customers have private networks
• Private networks have servers that use private IP addresses
• Cannot be accessed from the public internet directly
• Are connected to the public internet via a Demilitarized Zone (DMZ)
• DMZ is a gateway that connects the public internet to the private network
• Customers connect to the DMZ via a secure connection to access the private
network
• Virtual Private Cloud (VPC)
• Servers in the VPC use private IP addresses
• DMZ managed by the cloud provider
VPC Cloud
VPC
External
Client
Server Server
Server Server
Internal
Client
V I R T UA L I Z AT I O N
Classic Deployment Virtualized Deployment Advantages of Virtualization
• Multiple virtual machines can run
on a single physical machine. This
allows for effective utilization of a
physical machine.
• Virtual machines are files that can
be easily copied and run in other
Cloud
physical machines that run a
customer’s
virtualized environment.
operating
• This allows for automating
system runs
scaling by allocating more
directly on
Cloud customer’s servers.
hardware.
operating system • This type of automation is
runs on an hardware known as Auto Scaling.
emulating software
called a Virtual
Diagram Credits: http://kubernetes.io
Machine
AUTO SCALING
Cloud
Users
Virtual Machine
Virtual Machine
Users
CO N TA I N E R S
Virtualized Deployment Container Deployment Advantages of Containers
• Containers are similar to virtual
machines, but have reduced, and
yet sufficient, isolation between
each other. As a result, they are
more efficient and less heavy
weight than virtual machines
• Containers deploy faster than
virtual machines
Users
Container
Container
Users
SERVERLESS ARCHITECTURE
• Despite progress with containers and Kubernetes, scaling up by allocating more servers still under
utilizes servers in some cases.
• Example:
• Servers may be utilized fully for network traffic, but not for compute (CPU-based) operations
• This means the customer pays for resources the customer does not utilize
• Serverless Architecture
• Customer does not allocate servers
• Instead customer uploads code to the cloud-provider, the cloud provider processes the requests:
• Cloud-provider allocates a server for executing the customer’s code
• Cloud-provider executes the customer’s code
• Cloud-provider deallocates the server
• Cloud-provider charges the customer for the time used to execute the customer’s code
N O S Q L DATA B A S E S
• NoSQL Databases are key-value stores
• Unlike relational databases:
• Joins are not supported
• Data is not normalized
• NoSQL Databases are designed to handle a very large amount of data
• Usually, hundreds of terabytes or petabytes
• Relational databases are limited in the amount of data they can handle
• NoSQL Databases have a high throughput, because key-value stores can span across thousands of servers
• Typically cloud providers provide NoSQL Databases as a service
• Customers don’t manage the NoSQL Databases
• Server allocation/deallocation managed by the cloud provider
SERVERLESS + NOSQL + OBJECT
STORAGE SERVICE
Cloud
Object Storage
Service
SOFTWARE AS A SERVICE (SAAS)
• Cloud provider can also provide software as a service (SaaS)
• Examples:
• Object Storage Service
• NoSQL Database
• SaaS takes Platform as a Service (PaaS) one step further by completely hiding the type
and number of servers it uses
• SaaS interaction is done via APIs
B I G DATA
• Big Data refers to data that is too big to be loaded on a reasonably large computer.
• Operations on Big Data require the involvement of multiple computers.
• Typical operations on Big Data involve aggregating data on a particular subject.
• Example:
• A mobile telecommunication company aggregating the total call time of a customer by summing up
individual call times logged in cell towers
• Big Data operations are composed of two steps that are known as map-reduce:
• Map:
• The data of subjects are collected.
• Reduce:
• The data of subjects are aggregated.
• A map-reduce task is distributed across multiple computers.
23
B I G DATA A R C H I T E C T U R E
Mapper
Map servers
Reducer
Reduce servers
24
AVAILABILITY ZONES
• Cloud providers replicate customer data across multiple data centers
• Data centers that replicate data between each other make up an Availability Zone
• Availability Zones allow customers to access their data in the event a data center goes
offline
• Data centers in an Availability Zone are geographically close to each other
• Customer does not need to handle fail over for PaaS and SaaS
• Customer needs to handle IaaS (servers managed by customer)
• Customer needs to ensure when a server that has failed is rebooted, the server is
able to resume operations
REGIONS
• A Region is a collection of Availability Zones in a particular geographic area
• Large cloud providers have multiple Regions that are located in various continents
• Customers can deploy their systems to multiple regions:
• Reasons:
• To be close to their users for better speed
• To comply with data sovereignty requirements
• To be resilient in case the data centers of a particular region go offline:
• Power outages
• Natural disasters
MAJOR CLOUD PROVIDERS
• The most widely used cloud providers in order of usage are:
• Amazon Web Services
• Microsoft Azure
• Google Cloud
• Alibaba Cloud
• Cloud Computing is dominated by a few major companies. This is because:
• Data Centers are very expensive to build
• Equipment in data centers is uniquely designed to be cost efficient
• Increasingly require high level of compliance and regulation