You are on page 1of 47

Introduction to Cloud Computing

Dilan Gallage
Associate Lead Systems Engineer - DevOps, WSO2 Inc
dilang@wso2.com
2019 - SLIIT - Cloud Computing
What is Cloud Computing?
The Evolution of Software – Standalone

*
The Evolution of Software – Standalone
● Software installed on a local machine
○ e.g. most PC software that need installation access
on the same machine only
● Local access to software
● Problems:
○ limited availability
○ limited reliability
○ limited capacity
○ high maintenance cost
■ e.g. software updates /hardware upgrades
○ high scaling cost

*
Software Evolution - Client-Server

*
Software Evolution - Client-Server
● Software installed on a (remote) machine (server)
● Client(s) access(es) server via network
○ communicate using a protocol
● Problems solved:
○ increased availability
■ if you have the proper client, you can use
● Problems remaining:
○ availability (still limited by server capacity)
○ reliability (depends on server)
■ need redundant server(s) & storage as back-up

*
Software Evolution - Web Applications

*
Software Evolution - Web Applications
● Still client-server applications
● Use web technologies (e.g. HTTP) to:
○ access application
○ connect components
● Problems solved:
○ thin client
■ limited processing on the client side
■ most processing are done on the server
○ use the “standardised” web interface and protocol
■ further increase availability & accessibility
● Problems remaining:
○ inherits client-server problems

*
Software Evolution - SuperComputing

*
Software Evolution - SuperComputing
http://www.top500.org/

*
Cluster Computing

*
Cluster Computing

● Clusters are linked computer systems that can


co-operate to perform computations and deliver
services:
○ Often function / appear as single server.
○ Typically linked over LAN.
○ Offers scalability.
○ Used for high-availability (redundant), load
balancing, shared compute

*
Cluster Computing

*
Grid Computing

*
What is Grid Computing?
Grid computing is a network based computational model that has the ability to
process large volumes of data with the help of a group of networked computers that
coordinate to solve a problem together.
Basically, it’s a vast network of interconnected computers working towards a common
problem by dividing it into several small units called grids. It’s based on a distributed
architecture which means tasks are managed and scheduled in a distributed way with
no time dependency.
The group of computers acts as a virtual supercomputer to provide scalable and
seamless access to wide-area computing resources which are geographically
distributed and present them as a single, unified resource to perform large-scale
applications such as analyzing huge sets of data.

Read more: Difference between Grid Computing and Cloud Computing | Difference Between
http://www.differencebetween.net/technology/difference-between-grid-computing-and-cloud-computing/#ixzz5ssZEIGnF

*
Grid Computing

*
Grid Computing - Use case
● BOINC - Berkeley Open Infrastructure for Network Computing
● Folding@home - Simulates protein folding, drug design and molecular
dynamics
● Einstein@home - Searches for signals from rotating neutron stars in the
data generated from telescopes
● SETI@home - Analyze radio signals, searching for signs of
extraterrestrial intelligence
CGI of a Black Hole

Continue to next page


Each telescope used for the EHT had to be highly synchronized with the others
to within a fraction of a millimeter using an atomic clock locked onto a GPS time
standard. This degree of precision makes the EHT capable of resolving objects
about 4,000 times better than the Hubble Space Telescope. As each telescope
acquired data from the target black hole, the digitized data and time stamp were
recorded on computer disk media. Gathering data for four days around the
world gave the team a substantial amount of data to process. The recorded
media were then physically transported to a central location because the
amount of data, around 5 petabytes, exceeds what the current internet speeds
can handle. At this central location, data from all eight sites were synchronized
using the time stamps and combined to create a composite set of images,
revealing the never-before-seen silhouette of M87*’s event horizon. The team is
also working on generating an image of Sagittarius A* from additional
observations made by the EHT.

Source : https://www.jpl.nasa.gov/edu/news/2019/4/19/how-scientists-captured-the-first-image-of-a-black-hole/
What is Cloud Computing?

*
What is Cloud Computing?

*
Cloud Computing….

● Cloud computing is a type of Internet-based computing


that provides shared computer processing resources
and data to computers and other devices on demand.

● It is a model for enabling ubiquitous, on-demand


access to a shared pool of configurable computing
resources (e.g., computer networks, servers, storage,
applications and services), which can be rapidly
provisioned and released with minimal management
effort.

Source - Wikipedia

*
Cloud Computing….

● “Cloud computing has the following characteristics:


(1) The illusion of infinite computing resources…
(2) The elimination of an up-front commitment by
Cloud users…
(3). The ability to pay for use…as needed…”
– UCBerkeley RADLabs

*
Cloud Computing….

● “... a pay-per-use model for enabling available,


convenient, on-demand network access to a shared
pool of configurable computing resources (e.g.,
networks, servers, storage, applications, services) that
can be rapidly provisioned and released with minimal
management effort or service provider interaction.”
- National Institute of Standards and Technology
(NIST)

*
Common ground - Cloud Computing..

● Pay as you go. Pay for what you use

● Self-service interface

● Elastic capacity - scale up/down on demand.

● Resources are abstracted / virtualized, and gives


illusion of endless resources.

● Faster time to market. Focus on your business

*
Progress to Cloud Computing

*
Enabling Technologies
● Virtual Machines / Containers
● Virtualized Storage
● Load Balancing
● AutoScaling
● Virtualized Network
● Monitoring
● Metering
● Multi Tenancy
● Self-healing

*
Virtualization

*
Hypervisors

● Type 1, which is considered a bare-metal


hypervisor and runs directly on top of hardware.
The Type 1 hypervisor is often referred to as a
hardware virtualization engine.

● Type 2, which operates as an application on top of


an existing operating system.

*
The need to Scale
● Demand to services fluctuates
○ fluctuation occurs in different time scales
■ year-long cycle/pattern: Christmas shopping,
summer travelling
■ fluctuation within 90 min: demands on Google
during world cup final
● Fixed resource provisioning results in
under/over-provisioning
○ under-provisioning: slow systemLakmalresponse, unable to
Warusawithana
serve clients
○ over-provisioning: waste of resources
Auto Scaling
Vertical Scaling
● Vertical scaling means that you scale by adding more
power (CPU, RAM) to an existing machine
● Scale up : more powerful server
● Scale down : less powerful server

Lakmal Warusawithana

Auto Scaling
Horizontal Scaling
● Horizontal scaling means that you scale by adding
more machines into your pool of resources
● Scale out : more instances
● Scale in : few instances

Lakmal Warusawithana

Auto Scaling
Combine scaling

Lakmal Warusawithana

Auto Scaling
Handling variable Demands

Lakmal Warusawithana

Auto Scaling
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Load Balancing / Autoscaling

*
Type of Clouds

*
Service Types

*
Service Model

You might also like