Lecture5
Lecture5
Lecture5
3
Grid vs Cloud
4
Evolution of Computing
5
Evolution of Cloud Computing
• Next-generation Internet
Cloud Computing Computing and data centre
6
• Cloud computing is a model for enabling
ubiquitous, convenient, on-demand
network access to a shared pool of
Cloud configurable computing resources.
Computing • It can be rapidly provisioned and released
with minimal management effort.
• It provides high level abstraction of
computation and storage model.
7
• It has some essential characteristics, service
models, and deployment models.
• Cloud computing allows companies to avoid
or minimize up-front IT infrastructure costs.
Cont… • It relies on sharing of resources to achieve
coherence and economies of scale, similar
to a public utility.
8
Essential Characteristics
•Rapid elastics
• Capabilities can be elastically provisioned and released (scale up/down based on the demand).
9
In Our Humble
Opinion
• Cloud computing is a paradigm of computing, a
new way of thinking about IT industry but not
any specific technology.
• Central ideas
• Utility Computing
• SOA - Service Oriented
Architecture
• SLA - Service Level Agreement
• Properties and characteristics
• High scalability and elasticity
• High availability and reliability
• High manageability and
interoperability
• High accessibility and portability
• High performance and optimization
• Enabling techniques
• Hardware virtualization
• Parallelized and distributed computing
• Web service
Utility
Computing Central Ideas
SOA + SLA
• Definition
• A service-oriented architecture is comprised of a number of different
services that can be consumed by any number of clients.
• There are two major roles within SOA: the service provider and the service
consumer.
• The only assumption made by either party is that communication takes the
form of a well-defined and strictly enforced contract.
• Provide a loosely-integrated suite of services that can be used within multiple
business domains
• Approach
• Usually implemented by Web Service model
• The service provider is the maintainer of the service and the organization that
makes available one or more services for others to use.
• To advertise services, the provider can publish them in a registry, together with
a service contract that specifies the nature of the service, how to use it, the
requirements for the service, and the fees charged.
• The service consumer can locate the service metadata in the registry and
develop the required client components to bind and use the service.
• Service providers and consumers can belong to different organization bodies or
business domains.
Cont…. • It is very common in SOA-based computing systems that components play the
roles of both service provider and service consumer.
• Services might aggregate information and data retrieved from other services or
create workflows of services to satisfy the request of a given service consumer.
This practice is known as service orchestration, which more generally describes
the automated arrangement, coordination, and management of complex
computer systems, middleware, and services.
• Another important interaction pattern is service choreography, which is the
coordinated interaction of services without a single point of control.
Utility
Computing Quality Of Service
SOA + SLA
• Original definition
• QoS denotes the levels of performance, reliability, and availability offered
by an application and by the platform or infrastructure that hosts it.
• Now QoS becomes to a broad term that is used following areas :
• Customer care evaluations
• Technological evaluations
Utility
Computing Quality Of Service
SOA + SLA
• Technological evaluations
• QoS has to do with the efficient operation of various systems
• This can lead to adjusting procedures or adapting software programs and code to achieve the desired
effect while making a more efficient use of available resources
Utility
Computing Service Level Agreement
SOA + SLA
• Definition
• A service-level agreement (SLA) is a contract between a service provider and a
customer that specifies, usually in measurable terms (QoS), what services the
service provider will furnish
• What is elasticity ?
• In cloud computing, elasticity is
defined as "the degree to which a
system is able to adapt to workload
changes by provisioning and
de-provisioning resources in an
autonomic manner, such that at each
point in time the available resources
match the current demand as closely
as possible"
Multi-tenant Design
• What is multi-tenant design ?
• Multi-tenant refers to a principle in software architecture where a single instance
of the software runs on a server, serving multiple client organizations.
• With a multi-tenant architecture, a software application is designed to virtually
partition its data and configuration thus each client organization works with a
customized virtual application instance.
• Fault Containment
• Some failure mechanisms can cause a
system to fail by propagating the failure
to the rest of the system.
• Mechanisms that isolate a rogue
transmitter or failing component to
protect the system are required.
System Resilience
• What is resilience ?
• Resilience is the ability to provide and maintain an
acceptable level of service in the face of faults and
challenges to normal operation.
• Resiliency pertains to the system's ability to return to its
original state after encountering trouble. In other words, if
a risk event knocks a system offline, a highly resilient
system will return back to work and function as planned
as soon as possible.
• Disaster Recovery
• Disaster recovery is the process, policies and procedures related to preparing for
recovery or continuation of technology infrastructure critical to an organization
after a natural or human-induced disaster.
• What is manageability ?
• It means manage entire cloud system.
• System management in Cloud Computing
is much more dependent on overall
network and offered service management
• What is interoperability ?
• Interoperability is a property of a product
or system to work with other products or
systems, present or future, without any
restricted access or implementation.
• But how to achieve these properties ?
• System control automation
• System state monitoring
Control Automation
• Billing system
Billing System
• Billing System in Cloud
• Users pay as many as they used.
• Cloud provider must first determine the list of service usage price.
• Cloud provider have to record the resource or service usage of each user, and
then charge users by these records.
• How can cloud provider know users’ usage ?
• Get those information by means of monitoring system.
• Automatically calculate the total
amount of money which user
should pay.
• And automatically
request money from use’s banking
account.
Performance & Optimization
High Performance
Improvement
Performance & Optimization
• Performance guarantees ??
• As the cloud computing uses high computing
resources, application performance should be
guaranteed.
• Cloud providers make use of powerful infrastructure
or other underlining resources to build up a highly
performed and highly optimized environment, and
then deliver the complete services to cloud users.
• Parallel Processing
• Parallel processing is a form of computation in which
many calculations are carried out simultaneously,
operating on the principle that large problems can
often be divided into smaller ones, which are then
solved concurrently.
• Hardware approaches
• Multi-core computer
• Symmetric multi-processor
• General purpose graphic processing unit
• Vector processor
• Distributed computing
• Cluster computing
• Grid computing
• Software approaches
• Parallel programming language
• Automatic parallelization
Load Balancing
Unbalanced
Job Scheduling
• What is job scheduler ?
• A job scheduler is a software application that is in charge of unattended
background executions, commonly known for historical reasons as batch
processing.
• How to approach ?
• Use pre-defined workflow
• System automatic configuration
Accessibility & Portability
Anyone !
Anytime !
Anywhere !
Accessibility & Portability
• What is accessibility ?
• Accessibility is a general term used to describe the degree to which a product,
device, service, or environment is accessible by as many people as possible.
• Netflix’s system design is complex and scalable and it is constantly evolving to meet the need of its
growing user base.
• The system is based on a microservices architecture, which allows Netflix to manage running both the
heavy and lightweight workloads on the same infrastructure.
• In 2008, Netflix migrates its entire infrastructure into cloud, a strategic move that revolutionized its
scalability and performance.
The innovative system design that Netflix uses are given below:
Zulu—The Gatekeeper:
❑ Zulu is the front door to handle all the requests that comes from users.
❑ It enables dynamic routing, monitoring, security and more.
Hystrix--- The Safety Net:
❑ Hystrix steps in when things go wrong.
❑ It’s a fault tolerance library ensuring that Netflix stays up, even when some services falter.
Chaos Monkey----The Resilience Tester:
❑ Chaos Monkey is a resilience tool.
❑ It randomly terminates instances and inject faults in production to ensure that engineers design resilient services.
CONT….