0% found this document useful (0 votes)
4 views54 pages

Lecture5

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 54

What is Cloud computing ?

Properties and characteristics


• Definition:
• Cloud computing can be defined as a new style
of computing in which dynamically scalable and
often virtualized resources are provided as a
Cloud services over the Internet.
Computing • Cloud computing has become a significant
technology trend, and many experts expect that
cloud computing will reshape information
technology (IT) processes and the IT
marketplace.
Cloud Computing

• An Internet cloud of resources can be either a centralized or a distributed computing system.


The cloud applies parallel or distributed computing, or both.
• Clouds can be built with physical or virtualized resources over large data centers that are
centralized or distributed.
• Some authors consider cloud computing to be a form of utility computing or service
computing.

3
Grid vs Cloud

4
Evolution of Computing

Centralized Distributed Internet Mobile Cloud


• 1970~80 • 1970~80 • 2000s • 2010s UbiComp
• Main Frame • Main Frame • WWW • Transported • 2020s
Technology Technology Technologies Technology • Pervasive
(Anytime, Ubiquitous
Anywhere) Computing
• Cloud
Computing
(On Demand
Metered Grid
Usage)

5
Evolution of Cloud Computing

• Solving large problems with


Grid Computing parallel computing

• Offering computing resources


Utility Computing as a metered service

• Network based subscription to


SaaS applications

• 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

• On-Demand Self Service:


• A consumer can provision computing capabilities automatically without interaction with each service’s provider.
• Heterogeneous Access:
• Computer resources are available over the network and accessed through standard mechanisms that promote use
by heterogeneous thin or thick client platforms.
• Resource Pooling:
• The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model.
• Different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
• Measured Service:
• Cloud systems automatically control and optimize resources used by leveraging a metering capability at some level
of abstraction appropriate to the type of service.

•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

DON’T TELL ME DETAILS!!


I DON’T CARE!!
Utility
Computing Central Ideas
SOA + SLA

• Perspective from user :


• Users do not care about how the works are done
• Instead, they only concern about what they can get
• Users do not care about what the provider actually did
• Instead, they only concern about their quality of service
• Users do not want to own the physical infrastructure
• Instead, they only want to pay as many as they used

• What dose user really care ?


• They only care about their “Service”
Utility
Computing What Is Service?
SOA + SLA

• A service encapsulates a software component that provides a set of


coherent and related functionalities that can be reused and integrated
into bigger and more complex applications.
• Service is the endpoint of a connection.
• Functionalities of service :
• A service should be well-defined
• A service should be self-contained
• A service should not depend on the context or state of other services.
• Boundaries are explicit:
• A service-oriented application is generally composed of services
that are spread across different domains, trust authorities, and
execution environments.
Characteristics of • Generally, crossing such boundaries is costly; therefore, service
invocation is explicit by design and often uses message passing.
a Service • In a service-oriented computing environment the interaction with
a service is explicit and the interface of a service is kept minimal to
simplify the interaction
•.
• Services are autonomous:
• Services are components that exist to offer functionality and are
aggregated and coordinated to build more complex system.
• They are not designed to be part of a specific system, but they can
be integrated in several software systems, even at the same time.
• Service orientation puts the focus on the design of the service as
Characteristics of an autonomous component.
• The notion of autonomy also affects the way services handle
a Service(Cont..) failures.
• Services operate in an unknown environment and interact with
third-party applications.
• Therefore, minimal assumptions can be made concerning such
environments: applications may fail without notice, messages can
be malformed, and clients can be unauthorized.
Utility
Computing Service Oriented Architecture (SOA)
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

• Customer care evaluations


• QoS is usually measured in terms of issues that have a direct
impact on the experience of the customer
• Only issues that produce a negative effect on the goods and
services received by the customer come under scrutiny

• 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

• Common content in contract


• Performance guarantee metrics
• Up-time and down-time ratio
• System throughput
• Response time
• Problem management detail
• Penalties for non-performance
• Documented security capabilities
Properties and Characteristics
Scalability & Elasticity

Give me the world


without limitation!!
Scalability &
Elasticity
• What is scalability ?
• A desirable property of a system, a
network, or a process, which
indicates its ability to either handle
growing amounts of work in a
graceful manner or to be readily
enlarged.

• 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.

• Client oriented requirements :


• Customization
• Multi-tenant applications are typically required to provide a high degree of customization to
support each target organization's needs.
• Quality of service
• Multi-tenant applications are expected to provide adequate levels of security and
robustness.
Availability & Reliability

Data Never Loss


Machine Never Fail
Availability &
Reliability
• What is availability ?
• The degree to which a system, subsystem, or
equipment is in a specified operable and
committable state at the start of a mission,
when the mission is called for at an unknown
time.
• Cloud system usually require high availability
• Ex. “Five Nines” system would
statistically provide 99.999% availability
• What is reliability ?
• The ability of a system or component to
perform its required functions under stated
conditions for a specified period of time.
• But how to achieve these properties ?
• Fault tolerance system
• Require system resilience
• Reliable system security
Fault Tolerance

• What is fault tolerant system ?


• Fault-tolerance is the property that enables a system to continue operating
properly in the event of the failure of some of its components.
• If its operating quality decreases at all, the decrease is proportional to the
severity of the failure, as compared to a naively-designed system in which even a
small failure can cause total breakdown.

• Three basic characteristics :


• No single point of failure
• Fault detection and isolation to the failing component
• Fault containment to prevent propagation of the failure
Fault Tolerance

• Single Point Of Failure (SPOF)


• A part of a system which, if it fails, will stop the entire system
from working.
• The assessment of a potentially single location of failure
identifies the critical components of a complex system that
would provoke a total systems failure in case of malfunction.

• Preventing single point of failure


• If a system experiences a failure, it must continue to operate
without interruption during the repair process.
Fault Tolerance

• Fault Detection and Isolation (FDI)


• A subfield of control engineering which
concerns itself with monitoring a system,
identifying when a fault has occurred and
pinpoint the type of fault and its location.

• Isolate failing component


• When a failure occurs, the system
must be able to isolate the failure
to the offending component.
Fault Tolerance

• 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.

• Some risk events


• If power is lost at a plant for two days, can our system
recover ?
• If a key service is lost because a database corruption, can
the business recover ?
System Resilience

• 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.

• Some common strategies :


• Backup
• Make data off-site at regular interval
• Replicate data to an off-site location
• Replicate whole system
• Preparing
• Local mirror systems
• Uninterruptible Power Supply (UPS)
System Security

• Security issue in Cloud Computing :


• Cloud security is an evolving sub-domain of computer security, network security, and, more broadly,
information security.
• It refers to a broad set of policies, technologies, and controls deployed to protect data, applications, and
the associated infrastructure of cloud computing.
System Security

• Important security and privacy issues :


• Data Protection
• To be considered protected, data from one customer must be properly
segregated from that of another.
• Identity Management
• Every enterprise will have its own identity management system to control access
to information and computing resources.
• Application Security
• Cloud providers should ensure that applications available as a service via the
cloud are secure.
• Privacy
• Providers ensure that all critical data are masked and that only authorized users
have access to data in its entirety.
Manageability & Interoperability

I Want Full Control !!


Manageability &
Interoperability

• 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

• What is Autonomic Computing ?


• An autonomic computing system
would control the functioning of
computer applications and systems
without input from the user, in the
same way that the autonomic
nervous system regulates body
systems without conscious input from
the individual.
• The goal of autonomic computing is
to create systems that run
themselves, capable of high-level
functioning while keeping the
system's complexity invisible to the
user.
Functional Areas of Control Automation
• Four functional areas :
• Self-Configuration
• Automatic configuration of components.
• Self-Healing
• Automatic discovery, and correction of faults.
• Self-Optimization
• Automatic monitoring and control of resources to ensure the optimal functioning with
respect to the defined requirements.
• Self-Protection
• Proactive identification and protection from arbitrary attacks.
System Monitoring
• What is system monitor ?
• A System Monitor in systems engineering is a process within a distributed system
for collecting and storing state data.

• What should be monitored in the Cloud ?


• Physical and virtual hardware state
• Resource performance metrics
• Network access patterns
• System logs

• 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.

• But how to achieve this property ?


• Parallel computing
• Load balancing
• Job scheduling
Parallel Processing

• 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.

• Parallelism in different levels :


• Bit level parallelism
• Instruction level parallelism
• Data level parallelism
• Task level parallelism
Parallel Processing

• 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

• What is load balancing ?


• Load balancing is a technique to distribute workload evenly across two or more computers, network links,
CPUs, hard drives, or other resources, in order to get optimal resource utilization, maximize throughput,
minimize response time, and avoid overload.

• Why should be load balanced ?


• Improve resource utilization
• Improve system performance
• Improve energy efficiency

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.

• What should be scheduled in Cloud ?


• Computation intensive tasks
• Dynamic growing and shrinking tasks
• Tasks with complex processing dependency

• 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.

• What is service portability ?


• Service portability is the ability to access services using any devices, anywhere,
continuously with mobility support and dynamic adaptation to resource
variations.

• But how to achieve these properties ?


• Uniform access
• Thin client
Uniform Access

• How do users access cloud services ?


• Cloud provider should provide their cloud service by means of widespread accessing media.
• In other word, users from different operating systems or other accessing platforms should be able to
directly be served.
• Nowadays, web browser technique is one of the most widespread platform in almost any intelligent
electronic devices.
• Cloud service take this into concern, and delivery their services with web-based interface through the
Internet.
Thin Client

• What is thin client ?


• Thin client is a computer or a computer program which depends heavily on some
other computer to fulfill its traditional computational roles.
• This stands in contrast to the traditional fat client, a computer designed to take on
these roles by itself.
• Advantage :
• Cheap client hardware
• While the cloud providers handle several client sessions at once, the clients can be made out of
much cheaper hardware.
• Diversity of end devices
• End user can access cloud service via plenty of various electronic devices, which include mobile
phones and smart TV.
• Client simplicity
• Client local system do not need complete operational functionalities.
NETFLIX---THE SYSTEM DESIGN

• 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….

ELB, Netty Server and Titus----The Server Masters:


These servers work in harmony to keep the servers running smoothly.
❑ ELB handles load balancing across servers.
❑ Netty Server deals with incoming and outgoing traffic
❑ Titus is Netflix’s container management platform
Cassandra, Amazon EMR, Elasticsearch and Spark----The Data Wizards:
These four take care of data management and analytics.
❑ Cassandra provides a distributed database system.
❑ Amazon EMR handles big data use cases.
❑ Elasticsearch powers real-time search.
❑ Spark enables large-scale data processing.
Open Connect---The Content Deliverer:
❑ Netflix’s very own CDN, Open Connect, ensures that the next episode of your favorite show loads instantly, anytime,
anywhere, with zero buffering.

NETFLIX’S SYSTEM DESIGN IS A MASTERCLASS IN INNOVATION AND EFFICIENCY AND IT EVOLVES


CONTINUOUSLY, EMBRACING NEW TECHNOLOGIES AND STRATEGIES TO MEET GROWING USER NEEDS AND
EXPECTATIONS.

You might also like