Cloud Computing

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

What is Cloud Computing?

"A computing Cloud is a set of network-enabled services, providing scalable, QoS guaranteed, normally personalized, inexpensive computing infrastructures on demand, which could be accessed in a simple and pervasive way." "A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet"

Levels of Virtualisation

Full Virtualisation • Simulation of entire hardware platform • Examples - VirtualBox, VMWare, Xen Para-virtualisation • Presents a software implementation for some hardware functions • Can deliver very high performance but operating system must be modified • Examples - Xen, KVM, VMWare Hardware-assisted virtualisation • Virtualisation technologies introduced in the CPU (Intel-VT, AMD-V) • Increases performance of virtualised operating systems

SaaS

Software as a Service. Applications provided over the Internet. Webmail is an example of a cloud-based technology.

On-demand scalability - elasticity

...

Cloud Architecture

Application Level - Cloud Applications Platform - Platform frameworks Unified Resource - Abstracted resources Fabric - Bare-metal hardware resources

Opportunities

• Mobile Interactive Applications • CC provides the backend infrastructure • Relieves the processing burden from the device • Parallel Batch Processing • HPC or enterprise applications (ie. Payroll) • Business Analytics • Marketing analysis • Historical data analysis • Business planning • Extension of desktop applications • Seamless integration of desktop applications into Cloud • Rich APIs allow implementation of diverse cross-over between local and remote processing

Grid Computing

Collection of technologies that allow the consumption of compute resources on demand • Key technology driver - standardization of protocols used to request extra compute resources • Creation of utility style resources (water, electricity, gas) • Large, federated systems were created • Commercial interest was slow to appear • Little interest in creating a commercial Grid • Easier to offer local cluster resources on-demand

IaaS

Infrastructure as a Service. A cloud computing technology useful for heavily utilized systems and networks. • Provisions hardware and software as a complete environment for development • Highly configurable environments • Resource usage metered on a pay-per-use basis • Scalable provisioning available, although it is usually up to the developer to make best use of the extra flexibility

PaaS

Platform as a Service. Provides cloud customers with an easy-to configure operating system and on-demand computing capabilities. • High level development environment • Developer is presented with packaged resources available through APIs • No need to pre-install or configure the resource as in the case of IaaS • Different resources can be offered as a PaaS - compute, storage,etc

IaaS Resource Use

Resource usage can be measured and charged according to an advertised scale Persistent storage costs - Costs can be charged for data transfer between storage and VMs Communication costs . Communication can be charged for transactions between VMs and to and from the Cloud

Platform

The platform layer provides tools, frameworks and services to the application developer • Allows the developer to access resources in a consistent or simplified way • Provides a development platform for the application developer • A further level of abstraction • For example, a simplified API for storing data in a relational database • Can be used to present a familiar programming framework for development of Cloud applications, such as Microsoft .Net

Application Level

The uppermost level of the Cloud environment • This is the only level that the user of the application can see • It is the interface level between the user and the Cloud environment • Applications do not necessarily have to use a front-end based in the Cloud, but this a common approach

Overprovisioning

having more resources and computational capacity than the necessary (your provision of the necessary resources was "too high"), thus spending more money than really necessary.

Virtualisation

• Allows multiple operating systems and applications to run on a single unit of hardware • Reduce energy requirements by using a single server to host several environments • Move operating systems from an overloaded server to an underused one • Balance loads • Dynamically allocate resources

More Opportunities

• Availability of Service • Use Multiple Cloud Providers • Use Elasticity to Prevent DDOS • Data Lock-In • Standardize APIs • Compatible SW to enable Surge Computing (Cloud Bursting) • Data Confidentiality and Auditability • Deploy Encryption, VLANs, Firewalls • Geographical Data Storage

Fabric

• Bare metal hardware resources • Compute, storage and communication resources • Completely hidden from the application level • An application can only access hardware through an intervening abstract layer, usually virtualised • The developer cannot use resources, such as storage, directly • Increases the security of the resources • Compare with traditional compute systems, where the application communicates with the hardware through an API layer (via the OS)

What are some motivations for Cloud Computing?

• Capital Expenditure - initial purchasing costs, rolling upgrade costs • On-going maintenance - labour and parts costs for existing local resources (departmental and enterprise wide) • Environmental costs - power, cooling. • Moving costs from capital to operational expenditure • Access to large scale compute resources - small engineering departments without significant compute resources to perform model simulations • Rapid turn-around of results - cost of 1000 servers for 1 hour is the same as 1 server for 1000 hours

Differences between Grid and Cloud

• Clouds sit on top of virtualised resources, whilst Grid nodes sit on bare metal/clusters Role of middleware differs between Cloud and Grid • Clouds have been targeted to the commercial sector, whilst Grid is used mainly by scientific and academic users Cloud infrastructure can be built into local enterprise and subsequently extended into 3rd party infrastructure

Cloud characteristics summarized

• Distributed compute resources • Virtualised resources • Resource Elasticity • Pay As You Go pricing model • Proprietary access mechanisms

Some notable commercial/open source examples

• Eucalyptus (IaaS - private Cloud) • Amazon AWS (IaaS - public Cloud) • Microsoft Azure (PaaS - private/public Cloud)

What are the technical roots of Cloud Computing?

• Grid Computing - Distributed, geographically displaced computing • Utility Computing - Payment on demand (cf. gas, water, electricity) • Service Oriented Architectures - componentised, reusable applications using common communication protocols to provide interfacing

Virtualisation Components

• Host and Guest Operating Systems • Virtual Machine Monitors (VMM) or Hypervisors • Native - runs directly on the hardware • Hosted - runs as a guest on an existing host system

Similar challenges shared Grid and Cloud

• How do we manage large compute resources? • What is the most effective way for potential consumers of the service to interact with these resources? • How can we implement applications to best make use of these distributed resources?

Common factors between Grid and Clouds

• Increase the accessibility of compute resources • Increase the reliability of those resources • Increase the cost effectiveness of those resources • Resources can include computational power or data storage • We can bring compute resource to the data - storage of data within the resource itself (S3)

Cloud Services

• Infrastructure as a Service • Platform as a Service • Software as a Service

What can we do with Cloud Computing?

• Large scale data processing problems • Web based applications • Mobile applications • Business analytics • Desktop application extensions

Unified Resource

• Presents the abstracted hardware resources to the end user • Resources are encapsulated and presented to developers as integrated resources • For example, a storage system spread over many physical components may be presented as a single logical entity • Manages resource usage between end user applications • End user applications are unaware of other competing applications or system using the same physical hardware • This can be an issue when optimising for performance because it is often more efficient to have all the resources on a single physical machine

Vertical scaling and horizontal scaling

• Scaling up with more powerful hardware - vertical scaling • Scaling out with more hardware instances - horizontal scaling • Scaling up reduces computation time per node • Additional costs per node • Retain computational and programmatic architectures • Scaling out increases parallelism • Additional complexity • Introduce other considerations - granularity, communications and load balancing

Differences between Clouds and other general environments

• User centric interfaces • On-demand service provisioning • QoS guaranteed offer • Autonomous system - managed transparently to the user • Scalability and Flexibility


Ensembles d'études connexes

intro to social statistics: ch 4 – part 2

View Set

PA Hunter Safety Course - Unit 10

View Set

Human Resource Management Chapter 12

View Set

SPI Exam Review (Period and Frequency)

View Set