1 of 43

1

10/12/2023

Sri Raghavendra Educational Institutions Society (R)

(Approved by AICTE, Accredited by NAAC, Affiliated to VTU, Karnataka)

Sri Krishna Institute of Technology

www.skit.org.in

Title: Introduction to Cloud Computing

CO addressed: CO1

Course: Cloud Computing

Presented by: Latha A

Department: CS& E

2 of 43

Mastering Cloud Computing

Rajkumar Buyya, Christian Vecchiola, Thamarai Selvi

2

9/6/2024

3 of 43

�Module 1 - Introduction��

3

9/6/2024

4 of 43

4

5 of 43

Requirements of Hosting (Web) application

  1. Memory
  2. Processor for Computation
  3. Softwares/API
  4. Power
  5. Currency
  6. Manpower,
  7. Maintenance overhead of
    1. H/W
    2. S/W
    3. privacy and security mechanism,

……….

5

6 of 43

Disadvantages

  • Expensive
  • Troubleshooting and maintenance is difficult
  • Resource Utilization may not be efficient

6

7 of 43

What is Cloud Computing- Simple Scenario

7

8 of 43

Service-provisioning model /utility computing

  • where computing services will be readily available on demand, just as other utility services such as water, electricity, telephone,
  • users (consumers) need to pay providers
  • only when they access the computing services.
  • In addition, consumers no longer need to invest heavily or encounter difficulties in building and maintaining complex IT infrastructure.

8

9 of 43

What is Cloud Computing

Cloud computing is a service provisioning technique where computing resources like hardware such as servers and storage devices, software's and complete platform for developing applications are provided as a service by the cloud providers to the customers.

9

9/6/2024

10 of 43

What is Cloud Computing conti..

  • It allows renting infrastructure, runtime environments, and services on a pay-per-use basis.
  • End users can access their documents and data anytime, anywhere, and from any device connected to the Internet.
  • Service provision is done with help of data centers employing virtualization technologies for

consolidation and effective utilization of resources.

  • Web 2.0 technologies play a central role

10

11 of 43

11

9/6/2024

12 of 43

Vision of cloud computing (Need)

12

9/6/2024

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 want to focus on application logic and not maintenance and scalability issues

I want to access and edit my documents and photos from everywhere..

I have a surplus of infrastructure that I want to make use of

I have a lot of infrastructure that I want to rent …

I have infrastructure and middleware and I can host applications

I have infrastructure and provide application services

Global Cloud Marketplace

13 of 43

Defining a cloud

13

9/6/2024

Virtualization

IT outsourcing

Pay as you go

Provisioning

on demand

Elasticity

Utility computing

Scalability

IaaS

PaaS

SaaS

Virtual Datacenters

Green computing

Internet

No capital investments

Quality of Service

Cloudbusrting

Security

Privacy & Trust

IT outsourcing

Service Level Agreement

Billing

Cloud Computing?

14 of 43

  • It is often associated with virtualized infrastructure on demand, utility computing, IT outsourcing, platform and software as a service, and many other things
  • refers to an Internet-centric way of computing
    • Cloud computing refers to both the applications delivered as services over the Internet and the hardware and system software in the datacenters that provide those services.
  • Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
  • A cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers.

14

15 of 43

A closer look

  1. Large enterprises can offload some of their activities to cloud-based systems.
  2. Small enterprises and start-ups can afford to translate their ideas into business results more

quickly, without excessive up-front costs.

  1. System developers can concentrate on the business logic rather than dealing with the

complexity of infrastructure management and scalability.

  1. End users can have their documents accessible from everywhere and any device.

15

16 of 43

Three major models

  1. Public clouds -is established by a third-party service provider that makes it available to any consumer on a subscription basis. Such clouds are appealing to users because they allow users to quickly leverage compute, storage, and application services.
  2. Private clouds-The use of cloud-based in-house solutions is also driven by the need to keep confidential information within an organization’s premises.
  3. Hybrid clouds

16

17 of 43

Cloud Deployment Models

17

9/6/2024

Private/Enterprise �Clouds

* A public Cloud model �within a company’s �own Data Center / �infrastructure for�internal and/or� partners use.

Public/Internet �Clouds

* 3rd party, �multi-tenant Cloud

infrastructure �& services:

* available on �subscription basis to all.

Hybrid/Inter�Clouds

* Mixed usage of �private and public �Clouds: Leasing public�cloud services�when private cloud �capacity is �insufficient

18 of 43

18

9/6/2024

Compute

Storage

Applications

Development and Runtime Platform

Private Resources

Cloud Manager

Private Cloud

Private Cloud (Government)

Public Clouds

Government Agencies

Organization Personnel

All users, on any device

19 of 43

19

9/6/2024

Runtime Environment for Applications

Development and Data Processing Platforms

Examples: Windows Azure, Hadoop, Google AppEngine, Aneka

Platform as a Service

Virtualized Servers

Storage and Networking

Examples: Amazon EC2, S3, Rightscale, vCloud

Infrastructure as a Service

End user applications

Scientific applications

Office automation, Photo editing,

CRM, and Social Networking

Examples: Google Documents, Facebook, Flickr, Salesforce

Software as a Service

Web 2.0 Interfaces

The cloud computing reference model

20 of 43

(Promised) Benefits of (Public) Clouds

  • No upfront infrastructure investment
    • No procuring hardware, setup, hosting, power, etc..
  • On demand access
    • Lease what you need and when you need..
  • Efficient Resource Allocation
    • Globally shared infrastructure, can always be kept busy by serving users from different time zones/regions...
  • Nice Pricing
    • Based on Usage, QoS, Supply and Demand, Loyalty, …
  • Application Acceleration
    • Parallelism for large-scale data analysis, what-if scenarios studies…
  • Highly Availability, Scalable, and Energy Efficient
  • Supports Creation of 3rd Party Services & Seamless offering
    • Builds on infrastructure and follows similar Business model as Cloud

20

9/6/2024

21 of 43

Challenges ahead

  • Dynamic provisioning of cloud computing services and resources. For example, in the IaaS domain, how many resources need to be provisioned, and for how long should they be used, in order to maximize the benefit?

  • Technical challenges also arise for cloud service providers for the management of large computing infrastructures and the use of virtualization technologies on top of them.

  • issues and challenges concerning the integration of real and virtual infrastructure need to be taken into account from different perspectives, such as security and legislation.

  • Security in terms of confidentiality, secrecy, and protection of data in a cloud environment is another important challenge.

  • Legal issues may also arise. These are specifically tied to the ubiquitous nature of cloud computing, which spreads computing infrastructure across diverse geographical locations. Different legislation about privacy in different countries may potentially create disputes as to the rights that third parties (including government agencies) have to your data.

21

9/6/2024

22 of 43

Historical developments

  • Distributed systems
    • A distributed system is a collection of independent computers that appears to its users as a single coherent system.
    • The fact that it is composed of multiple independent components and that these components are perceived as a single entity by users.
    • The primary purpose o f distributed systems is to share resources and utilize them better
    • This is particularly true in the case of cloud computing, in which clouds hide the complex architecture they rely on and provide a single interface to users.

22

9/6/2024

23 of 43

23

9/6/2024

Computer and network hardware

Hardware

Support for heterogeneous resource sharing, communication, and programming environments for application development

Middleware

User interface for presentation

Applications

Distributed System Stack

Execution platform including network connectivity services

Operative System

24 of 43

Historical developments

Three major milestones have led to cloud computing:

  1. mainframe computing,
  2. cluster computing, and
  3. grid computing.

24

9/6/2024

25 of 43

Mainframe computing

  • Mainframes were powerful, highly reliable computers specialized for large data movement and massive input/output (I/O) operations with the help of multiple processors, which were presented as a single entity to users.
  • They were mostly used by large organizations for bulk data processing tasks such as online transactions, enterprise resource planning, and other operations involving the processing of significant amounts of data.
  • One of the most attractive features of mainframes was the ability to be highly reliable computers that were “always on” and capable of tolerating failures transparently.
  • Batch processing was the main application of mainframes.
  • Now their popularity and deployments have reduced, but evolved versions of such systems are still in use for transaction processing (such as online banking, airline ticket booking, supermarket and telcos, and government services).

25

9/6/2024

26 of 43

Cluster computing

  • Cluster computing started as a low-cost alternative to the use of mainframes and supercomputers.
  • These machines could be connected by a high bandwidth network and controlled by specifics of software tools that manage the masa single system.
  • Built by commodity machines, they were cheaper than mainframes and made high-performance computing available to a large number of groups, including universities and small research labs.

26

9/6/2024

27 of 43

Grid computing

  • Grid computing [8] appeared in the early 1990s as an evolution of cluster computing.
  • Grids initially developed as aggregations of geographically dispersed clusters by means of Internet connections.
  • Different from a “large cluster,” a computing grid was a dynamic aggregation of heterogeneous computing nodes, and its scale was nationwide or even worldwide.

27

9/6/2024

28 of 43

Several developments made possible the diffusion of computing grids:

  1. clusters became quite common resources;
  2. they were often underutilized;
  3. new problems were requiring computational power that went beyond the capability of single clusters; and
  4. the improvements in networking and the diffusion of the Internet made possible long-distance, high-bandwidth connectivity.

All these elements led to the development of grids, which now serve a multitude of users across the world.

28

9/6/2024

29 of 43

Virtualization

  • Virtualization is essentially a technology that allows creation of different computing environments. These environments are called virtual because they simulate the interface that is expected by a guest .
  • Hardware virtualization- allows simulating the hardware interface expected by an operating system. Hardware virtualization allows the coexistence of different software stacks on top of the same hardware. These stacks are contained inside virtual machine instances, which operate in complete isolation from each other.

29

9/6/2024

30 of 43

Web 2.0

  • The Web is the primary interface through which cloud computing delivers its services.
  • Web 2.0 brings interactivity and flexibility into Web pages, providing enhanced user experience by gaining Web based access to all the functions that are normally found in desktop applications.
  • Examples of Web2.0applications are Google Documents, Google Maps, Flickr, Facebook, Twitter, YouTube, delicious, Blogger, and Wikipedia.

30

9/6/2024

31 of 43

Service-oriented computing

  • Service-oriented computing(SOC) supports the development of rapid, low-cost, flexible, interoperable, and evolvable applications and systems
  • A service is an abstraction representing a self-describing and platform-agnostic component that can perform any function
  • A service is supposed to be loosely coupled, reusable, programming language independent, and location transparent.
  • It introduces and diffuses 2 important concepts
    • Quality of service(QoS) and
    • Software-as-a-Service(SaaS).

31

9/6/2024

32 of 43

Utility-oriented computing

  • Defines a service-provisioning model for compute services in which resources such as storage, compute power, applications, and infrastructure are packaged and offered on pay-per-use basis

32

9/6/2024

33 of 43

33

9/6/2024

1950

1960

1970

1980

1990

2000

2010

Mainframes

Clusters

1999: Grid Computing

Grids

Clouds

1966: Flynn’s Taxonomy

SISD, SIMD, MISD, MIMD

1969: ARPANET

1970: DARPA’s TCP/IP

1984: DEC’s

VMScluster

1984: IEEE 802.3

Ethernet & LAN

1975: Xerox PARC

Invented Ethernet

1990: Lee-Calliau

WWW, HTTP, HTML

2004: Web 2.0

2005: Amazon

AWS (EC2, S3)

1960: Cray’s First Supercomputer

2010: Microsoft �Azure

1997: IEEE

802.11 (Wi-Fi)

1989: TCP/IP

IETF RFC 1122

2007: Manjrasoft Aneka

2008: Google

AppEngine

1951: UNIVAC I, �First Mainframe

34 of 43

Building cloud computing environments

Application development

    • Web applications : Their performance is mostly influenced by the workload generated by varying user demands.
      • enterprise applications : uses Internet as the preferred channel for service delivery and user interaction.
      • These applications are characterized by complex processes that are triggered by the interaction with users and develop through the interaction between several tiers behind the Web front end.
      • These are the applications that are mostly sensible to inappropriate sizing of infrastructure and service deployment or variability in workload
    • resource-intensive applications :requires considerable amounts of resources to complete execution in a reasonable timeframe may be in fixed amount of time or don’t know how long.eg. Batch processing pgms
      • These can be either data- intensive or compute-intensive applications eg :scientific apps.

34

9/6/2024

35 of 43

Cloud computing provides a solution for on-demand and dynamic scaling across the entire stack of computing. This is achieved by

  1. providing methods for renting compute power, storage, and networking;
  2. offering runtime environments designed for scalability and dynamic sizing; and
  3. providing application services that mimic the behavior of desktop applications but that are completely hosted and managed on the provider side.

35

9/6/2024

36 of 43

Building cloud computing environments

36

9/6/2024

Infrastructure and system development

Following forms the core technologies which enables the provisioning of cloud services from anywhere on the globe

  • Distributed computing

IaaS solutions provide the capabilities to add and remove resources and PaaS solutions embed into their core offering algorithms and rules that control the provisioning process and the lease of resources

  • Virtualization
  • service orientation and
  • Web 2.0

37 of 43

Building cloud computing environments

Computing platforms and technologies

  1. Amazon web services (AWS)
  2. Google AppEngine
  3. Microsoft Azure
  4. Hadoop
  5. Force.com and Salesforce.com
  6. Manjrasoft Aneka

37

9/6/2024

38 of 43

Amazon web services (AWS)

offers comprehensive cloud IaaS services ranging from virtual compute, storage, and networking to complete computing stacks

  • AWS is mostly known for its compute and storage on- demand services, namely
    • Elastic Compute Cloud(EC2)
      • EC2 provides users with customizable virtual hardware that can be used as the base infrastructure for deploying computing systems on the cloud.
      • EC2 instances are deployed either by using the AWS console or Web services API
    • Simple Storage Service(S3)
      • S3 is organized into buckets - these are containers of objects that are stored in binary form and can be enriched with attributes.
      • Users can store objects of any size, from simple files to entire disk images, and have them accessible from everywhere

38

9/6/2024

39 of 43

Google AppEngine

  • Google AppEngine is a scalable runtime environment for most of Web applications
  • Developers can build and test applications on their own machines using the AppEngine software development kit (SDK), which replicates the production runtime environment and helps test and profile applications.
  • Once development is complete, developers can easily migrate their application to AppEngine, set quotas to contain the costs generated, and make the application available to the world.
  • The languages currently supported are Python, Java, and Go

39

9/6/2024

40 of 43

Microsoft Azure

  • It is a cloud operating system and a platform for developing applications in the cloud
  • Applications in Azure are organized around the concept of roles – identifies distribution unit for applications and embody the application’s logic

    • Web role - is designed to host a Web application

    • worker role - generic container of applications and can be used to perform workload processing

    • Virtual machine role - provides a virtual environment in which the computing stack can be fully customized, including the operating systems.

40

9/6/2024

41 of 43

Hadoop

Apache Hadoop is an open-source framework that is suited for processing large data sets on commodity hardware

  • Is an application programming model developed by Google, which provides two fundamental operations for data processing
    1. map - transforms and synthesizes the input data provided by the user
    2. reduce - the latter aggregates the output obtained by the map operations
  • Hadoop provides the runtime environment, and developers need only provide the input data and specify the map and reduce functions that need to be executed

41

9/6/2024

42 of 43

Force.com and Salesforce.com

  • Force.com is a cloud computing platform for developing social enterprise applications by composing ready-to-use blocks; a complete set of components supporting all the activities of an enterprise are available
  • The platform is the basis for SalesForce.com, a SaaS solution for CRM
  • The Force.com platform is completely hosted on the cloud and provides complete access to its functionalities and those implemented in the hosted applications through Web services technologies

42

9/6/2024

43 of 43

Manjrasoft Aneka

  • is a cloud application platform for rapid creation of scalable applications and their deployment on various types of clouds in a seamless and elastic manner
  • It supports a collection of programming abstractions for developing applications and a distributed runtime environment that can be deployed on heterogeneous hardware
  • Developers can choose different abstractions to design their application:
    • tasks,
    • distributed threads and
    • map-reduce

43

9/6/2024