Uploaded by Sumana Datta

1 - INTRODUCTION - S

advertisement
PRESIDENCY UNIVERISTY, BENGALURU
School of Engineering
Computer Science and Engineering
Cloud Computing
(CSE306)
VII Semester 2018-19
Syllabus
1. Introduction
2. Virtualization
3. Cloud Computing Architecture
4. Aneka – Cloud Application Platform
5. High Throughput and Data Intensive Computing
6. Security and Standards in Cloud Computing
7. Cloud Platforms in Industry
Syllabus
Text Books:
1. “John Rittinghouse and James Ransome, “Cloud Computing, Implementation,
Management and Security”, CRC Press.
2. “Mastering Cloud Computing”, Rajkumar Buyya, Christian Vecchiola, and
Thamarai Selvi. McGraw Hill Education.
Reference books:
1. David E.Y. Sarna, “Implementing and Developing Cloud Applications”, CRC
Press
2. Anthony T Velte, Toby J Velte, Robert Elsenpeter, “Cloud Computing: A
Practical Approach”, Tata McGraw-Hill.
Self Learning Topics
• Sl. No.
Pedagogy
Topics
• 1.
Self-learning topics
Aneka Cloud Platform, EC2
• 2.
Participative Learning
Infrastructure Security Challenges
• 3.
Experiential Learning
Installation of VM Workstation
• 4.
Technology Enabled Learning
NPTEL – Cloud Computing
•
Coursera – Cloud Computing
1. INTRODUCTION
• Cloud Computing at a Glance
o Vision
o Definitions
o Cloud Computing Reference Model
o Characteristics and Benefits
o Challenges
• Historical Developments
o Distributed Systems
o Web 2.0
o Service and Utility Oriented Computing
• Building Cloud Computing Environments
o Application Development
o Infrastructure and System Development
• Computing Platforms and Technologies
Social Media Applications - used for Communication
Collaboration Applications
Storage Applications
Educational /
Entertainment
Application
Laptop
Internet
Browser
CLOUD
I
N
Internet
T
E
R
N
E
T
Devices
Devices
Browser
I
N
T
E
R
N
E
T
Smart
Phone
Browser
I
N
T
E
R
N
E
T
Browser
Personal
Computer
Operating Systems for PCs and
Laptops
1. Windows
2. Ubuntu
3. Linux
4. Mac, etc..
Tablet
Operating Systems for Mobile
Phones
1. IOS - for iPhones developed by
Apple
2. Android (Marshmallow (6.0),
Nougat(7.0), Oreo(8.0) developed
by Google
Browser Types:
1. Google Chrome
2. Mozilla Firefox
3. Internet
Explorer
4. Safari etc.
Computing in Computer Science
• Computing includes
Designing and building hardware and software systems
for a wide range of purposes
Processing, structuring, and managing various kinds of
information
Doing scientific studies using computers
Creating and using communications and entertainment
media
8
Process virtual machines – application are run by specific
program(virtual machine) than by OS.
This technique allows isolating the execution of
applications and providing a finer control on the
resources accessed.
9
Evolution of Cloud Computing
Computing as a service
12
Traditional utilities
Water
Electricity
Natural gas
Telephone network
Computing is being transformed to a model consisting of
services that are commoditized and delivered in a manner
similar to traditional utilities
Computing as a Utility
Users access services based on their requirements
without regard to where the services are hosted or how
they are delivered
13
Vision of Cloud Computing
I need to grow my
infrastructure, but
I do not know for
how long…
I cannot invest in
infrastructure, I
just started my
business….
I have a lot of
infrastructure that
I want to rent …
I have a surplus of
infrastructure that
I want to make use
of
I have
infrastructure and
middleware and I
can host
applications
I want to focus on
application logic
and not
maintenance and
scalability issues
I have
infrastructure and
provide
application
services
I want to access
and edit my
documents and
photos from
everywhere..
One view of Cloud Computing
“I don’t care where my servers are, who manages them,
where my documents are stored, or where my applications
are hosted. I just want them always available and access
them from any device connected through Internet. And I am
willing to pay for this service for as a long as I need it”
Definition of the term “Cloud Computing”
Definition 1 - Rajkumar Buyya
“A Cloud is a type of parallel and distributed system consisting of a
collection of inter-connected and virtualized computers that are
dynamically provisioned and presented as one or more unified computing
resources based on service-level agreements SLA established through
negotiation between the service provider and consumers” .
Definition 2 - National Institute of Standards and Technology (NIST),
USA
“A cloud is a computing infrastructure and software model for enabling
ubiquitous access to shared pools of configurable resources (e.g., computer
networks, servers, storage, applications and services), which can be
rapidly provisioned with minimal management effort, often over the
Internet.”
Definition of the term “Cloud Computing”
Definition 3
“Cloud computing refers to both the applications delivered
as services over the Internet and the hardware and system
software in the data centers that provide those services. “
Cloud computing allows renting
infrastructure,
runtime
environments (platform), and
services (applications) on a payper-use basis.
Concept of a “Service” in Cloud Computing
A Service is any commodity that a provider organization
provides on a rental basis, which the consumer utilizes.
Some examples from day-to-day experiences:
Hotel -> Food
Lodge -> Room
ATM?
College?
Hospital/ Doctor?
Commodity=something sold for
money
Concept of a “Service” in Cloud Computing
In the Cloud scenario, the provider Organization (Microsoft, Oracle,
Amazon, Google) offers the following commodities as services:
1. Infrastructure
components
(Hardware)
->
Storage,
Servers,
Networking
2. Platform to run applications -> Runtimes (JRE, CLR), Operating
Systems (Windows, Linux), Databases (MySQL, Oracle)
3. Applications -> Gmail, Facebook, CRM, etc.
All these services are offered through Web APIs (Application
Programming Interfaces)
Ex: Office 365 suite of applications, Google Drive suite of applications
Types of Services available in cloud computing
• IaaS --- Infrastructure as a Service --- server,
memory, CPU processor, storage space, network
components, disk space, hard disk
• PaaS---Platform as a Service --- Provides run time
environment for developers – visual studio, IDE,
WORD , OPERATING SYSTEM, VMWARE
• SaaS – Software as a Service- ALL TYPE OF
APPLICATION – FACEBOOK, GMAIL. Google drive,
google document,etc
• Stack of cloud computing --- arrangement of
services
• SaaS
• PaaS
• IaaS
IaaS- Adv
• Investment cost is reduced
• Minimal management effort
IaaS- Disadv
Network delay
Network problem
PaaS--- Adv
• Helps to create application and deploy it on cloud.
• Install it on your machine
• PaaS – Disadv
• Software license issue
• Migration issue
SaaS- Adv
• All types of applications are readily available
• You don’t have to install it.
• Just download and work with it
SaaS---- Disadv
Due to network issues, applications can not be
downloaded
Cloud Computing SERVICE Reference Model
Web 3.0
Interfaces
Software as a Service
End user applications
Scientific applications
Office automation, Photo editing,
CRM, and Social Networking
Examples: Google Documents, Facebook, Flickr, Salesforce
Platform as a Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka
Infrastructure as a Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
S3: Amazon Simple Storage Service
Vendors of SPI Model
Benefits of using the SPI Model
1. Large enterprises can offload some of their activities to the
cloud-based Systems.
2. Start-ups can deliver products without up-front costs.
Ex: Students can develop Apps and deploy in Android
without owning any server/ infrastructure.
3. System developed can focus on business logic instead of
infrastructure complexity or scalability.
4. End users can access their documents from everywhere
and using any device.
Types of Clouds (Cloud Deployment Models)
1. Public Cloud - A model where services are offered over
the Internet that is open for public use, on a pay-perusage basis.
2. Private Cloud - A model where the services are offered
to a single organization.
3. Hybrid Cloud - A model that is a mix of both the private
and public clouds.
4. Community Cloud - Is an infrastructure shared by
several organizations supporting a specific community.
Characteristics of the Cloud for CSP and CSC
1. No up-front commitments- COST & MANAGEMENT
2. On-demand access
3. Nice pricing
4. Simplified application acceleration and scalability
5. Efficient resource allocation
6. Energy efficiency
Customer Service point <CSP>
Common Service Center<CSC>
Cloud Computing Challenges: Dealing with too many issues
Scalability
Reliability
Billing
Utility & Risk
Management
Programming Env.
& Application Dev.
Software Eng.
Complexity
Uhm, I am not quite
clear…Yet another
complex IT paradigm?
Challenges in Cloud Computing
1. Security in terms of confidentiality and protection of
data
2. Dynamic provisioning of Cloud resources - efficiency,
technical challenges
3. Continuous monitoring and supervision of lesser
known providers
4. Migration issues from on-premise to Cloud
5. The problem of metering
Five core technologies that influence Cloud Computing
1. Distributed Systems
2. Virtualization
3. Web 2.0
4. Service Orientation
5. Utility Computing
Distributed Systems
Definition: A distributed system is a collection of
independent computers that appears to its users as a single
coherent system.
1. Mainframes - Used for bulk data processing tasks
involving online transactions, ERP, Supercomputers
2. Clusters - Cheap machines connected by highbandwidth network
3. Grid computing - Appeared in 90s, Users can consume
resources as utilities such as power, gas and water.
Dynamic aggregation of clusters from geographical
areas
4. Cloud computing - Large datacenters hosted by single
organization, have infinite virtual capacity and tolerant
to failures, pay-per-use basis
Grid Computing
It is for Application Oriented
Cloud Computing
It is for Service Oriented
The resources are distributed among The computing resources are managed
different
computing
units
for centrally and are placed over multiple
processing a simple task.
servers in clusters.
Grids are generally owned and The cloud servers are owned by
managed by an organization within its Infrastructure providers and are
premises
placed in physically disparate locations
It operates within a corporate network It can also be accessed through the
Internet
It provides a shared pool of computing It involves dealing with a common
resources on an as-needed basis.
problem using varying number of
computing resources.
Web 2.0
The web is primary interface through which CC delivers its
services.
Web 2.0 brings interactivity and flexibility into web pages.
 XML and AJAX
Ex: Google documents, Google Maps, Flickr, Facebook, Twitter,
YouTube, Wikipedia, etc..
35
Web 2.0 (contd..)
Service Oriented Computing
A Web service is any piece of software that makes itself available
over the internet and uses a standardized XML messaging
system.
A client invokes a Web service by sending XML request, and
receives the XML response.
SOC introduces two concepts:
1. Quality of Service
2. Software as a Service
Building Cloud-Computing Environment
Application Development
Applications that leverage CC benefit from its
capability of dynamically scaling on demand.
Web applications => Web 2.0 technologies, the web
has become platform for developing rich and
complex applications – ERP.
Resource-intensive application – considerable
amount of resources is required to complete
execution on a reasonable
time
frame
-scientific applications.
38
• Infrastructure and System development
Distributing computing, virtualization, service
orientation and Web 2.0 form the core technologies
enabling the provisioning of cloud services from
anywhere in the globe.
39
Computing Platforms/ Cloud Platforms and Technologies
• Amazon Web Services (AWS)
 Offers comprehensive cloud IaaS services.
 AWS is known for its compute and storage on demand services,
namely EC2 and S3.
 EC2 instances are deployed either by using AWS console or WS
API
S3 is organized into buckets – container of objects stored in binary
form
 range of services: networking support, caching systems, DNS,
database support and so on.
40
Google App Engine
Providing PaaS Service
Scalable runtime environment for executing scalable and high
performance web applications
These services include: in-memory caching, scalable data storage, job
queues, messaging
Developers can build and test applications on their own machine by
using AppEngine SDK
Languages supported are – Python, Java and Go
Microsoft Azure
 Is a cloud operating system and a platform for developing applications
 Runtime environment for web applications and distributed applications
Application are organized as roles: Web role, worker role, Virtual
machine role
Also supports storage, networking, caching and content delivery and
others
41
Download