SlideShare a Scribd company logo
Last Updated: May. 2014
Committer and PMC member of Apache Stratos
Senior Software Engineer, WSO2
Lahiru Sandaruwan
Cloud Concepts
*
Agenda
• Some core concepts
• Vertical/horizontal scaling techniques
• Capacity planning
• SLA Awareness
• Autoscaling
• Fault tolerance
• Q&A, Discussion
*
Scalability
"The ability of the of a system to
continue to operate correctly even
when it is scaled to a larger size”
*
Availability
*
Availability
*
High Availability
A system that is designed for continuous operation
in the event of a failure of one or more
components. However, the system may display
some degradation of service, but will continue to
perform correctly.
High Availability: The proportion of time during
which the service is accessible with reasonable
response times should be close to 100%.
*
How to decide required scale
(capacity) & availability?
• Average throughput (TPS)
• Max throughput (TPS)
• Monetary value of a transaction
• Average loss & max loss per second of
downtime
• Decide on how much to invest based on cost vs.
benefit tradeoff
*
Vertical Scaling
• Get the maximum out of each allocated JVM or
resource
• Increase CPU size
• Increase memory
*
Horizontal Scaling
*
Load Balancing
• Load balancing algorithms
• Round robin
• Weighted
• Response based
• Health check
• Failover-only
*
Clustering for scalability
*
Clustering for availability
Group Communication Channel/State replication
*
Capacity Planning
Source: http://srinathsview.blogspot.com/2012/05/how-to-measure-performance-of-
server.html
*
Capacity Planning
Throughput = number of completed requests / time to complete the requests
No. of servers = (projected max load * 1.3) / max throughput of one server
max throughput of one server = max throughput of that server for the slowest
scenario in the set of use cases
*
Static membership
• Predefined members
• Other (non-predefined) nodes cannot join
M2
M1
M3
M4
Static group
N
*
Dynamic membership
• No predefined members
• Nodes can join & leave
M2
M1
M3
M4
Dynamic group
N
Join
*
Hybrid membership
• Some predefined (well-known) members, and some
dynamic members
• Nodes can join & leave
• Membership revolves around the static members
Hybrid group
N
M2
M1
M3 M4
Static members
M6M5
M7
Dynamic members
Join (IP,
Port)
*
Multicast based membership
management
N
M2
M1
M3
M4
Join (IP,
Port)
*
Well-known Address (WKA) based
membership management
Hybrid group
N
WK
2
WK
1
WK
3 WK
4
Static members
M6
M5
M
7
Dynamic members
Join (IP,
Port)
Notify
*
Multicast vs. WKA
Multicast WKA
All nodes should be in the same subnet Nodes can be in different networks
All nodes should be in the same multicast domain
No multicasting requirement
Multicasting should not be blocked
No fixed IP addresses or hosts required At least one well-known IP address or host
required
Failure of any member does not affect
membership discovery
New members can join with some WKA nodes
down, but not if all WKA nodes are down
Does not work on IaaSs such as Amazon EC2 IaaS-friendly
Requires keepalived, elastic IPs or some other
mechanism for remapping IP addresses of WK
members in cases of failure
*
● Solves performance, availability, and
economic costs issues
● Currently the customer needs a considerable
capacity planning
● Reduce cost of cloud: reduce economic cost
and energy footprint
SLA Awareness
*
● Monitoring the cloud parameters
● Trigger an event if a SLA violation happened
● Acting upon the events
SLA Awareness: Solution
*
Auto-scaling
• Scale-out when load increases
• Scale-in when load decreases
• Always use the optimum amount of resources
• Try out
• AWS ELB
• Apache Stratos Load Balancer
• WSO2 ELB
*
Auto-scaling – steady load
*
Auto-scaling – load increasing
*
Auto-scaling – load increasing
*
Auto-scaling – steady load
*
Auto-scaling – decreased load
*
Auto-scaling – decreased load
*
Auto-scaling – steady load
*
Autoscaling - Analysis & Results
*
Autoscaling - Analysis & Results
*
Single nodeAvailability
Cost
LOWEST
HIGHEST
*
Primary-secondary
Primary Secondary
Availability
Cost
LOWEST
HIGHEST
*
Primary-secondary, multiple LB
Primary Secondary
keepalived
Availability
Cost
LOWEST
HIGHEST
*
Active cluster, multiple LB
Active Active
keepalived
Active
Availability
Cost
LOWEST
HIGHEST
*
Multi-zone or multi-datacenter
Deployment
Region X
Zone 1
Zone 2
Cloud
Controller
Availability
Cost
LOWEST
HIGHEST
*
Multi-region deployment
Region X
Zone 1
Zone 2
Region Y
Zone 1
Zone 2
Availability
Cost
LOWEST
HIGHEST
*
Multiple IaaS (hybrid) DeploymentAvailability
Cost
LOWEST
HIGHEST
Private cloud (data center)
Zone 1
Zone 2
Amazon EC2
Zone 1
Zone 2
Rackspace Cloud
Zone 1
Zone 2
*
Single
Node
Primary-Secondary,single
LB
Multi-nodeactivecluster
-Singlezone
Multi-region
Primary-
Secondary,
withmultipleLBs
Multi-zone
Multi-IaaS
Cost of Availability
*
Stratos Architecture
*
References
๏ http://www.cari-info.org/cari-2012/session%201/1B3.pdf
๏ http://domino.research.ibm.com/library/cyberdig.
nsf/papers/16D9BBF221540A0785257784004FC33D
๏ http://ieeexplore.ieee.org/xpl/login.jsp?
tp=&arnumber=5452504&url=http%3A%2F%2Fieeexplore.ieee.
org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5452504
๏ http://ieeexplore.ieee.org/xpl/login.jsp?
tp=&arnumber=5990687&url=http%3A%2F%2Fieeexplore.ieee.
org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5990687
๏ http://www.slideshare.net/afkham_azeez/java-colombo-developing-
highly-scalable-apps
- Azeez’s talk at Java Colombo
*
DISCUSSION
*
Thanks!

More Related Content

What's hot

Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
StreamNative
 

What's hot (20)

Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineJelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
Hands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache PulsarHands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache Pulsar
 
Kubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning ControllerKubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning Controller
 
Pulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platformPulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platform
 
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
Learnings from the Field. Lessons from Working with Dozens of Small & Large D...
 
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache PulsarUnifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
 
Apache Pulsar First Overview
Apache PulsarFirst OverviewApache PulsarFirst Overview
Apache Pulsar First Overview
 
Protecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and VormetricProtecting your data at rest with Apache Kafka by Confluent and Vormetric
Protecting your data at rest with Apache Kafka by Confluent and Vormetric
 
Flume vs. kafka
Flume vs. kafkaFlume vs. kafka
Flume vs. kafka
 
Apache Pulsar at Yahoo! Japan
Apache Pulsar at Yahoo! JapanApache Pulsar at Yahoo! Japan
Apache Pulsar at Yahoo! Japan
 
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPCAWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
 
Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar_...
 
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahujaCloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
 
Principal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud PlatformPrincipal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud Platform
 
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
 
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Linked In Stream Processing Meetup - Apache Pulsar
Linked In Stream Processing Meetup - Apache PulsarLinked In Stream Processing Meetup - Apache Pulsar
Linked In Stream Processing Meetup - Apache Pulsar
 

Similar to Cloud concepts

Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
WSO2
 
ApacheCon Essential Elements of an Enterprise PaaS
ApacheCon Essential Elements of an Enterprise PaaSApacheCon Essential Elements of an Enterprise PaaS
ApacheCon Essential Elements of an Enterprise PaaS
Lakmal Warusawithana
 
Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014
Lakmal Warusawithana
 

Similar to Cloud concepts (20)

SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
How to Design a Scalable Private Cloud
How to Design a Scalable Private CloudHow to Design a Scalable Private Cloud
How to Design a Scalable Private Cloud
 
Captial One: Why Stream Data as Part of Data Transformation?
Captial One: Why Stream Data as Part of Data Transformation?Captial One: Why Stream Data as Part of Data Transformation?
Captial One: Why Stream Data as Part of Data Transformation?
 
Moving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed InstanceMoving to the cloud; PaaS, IaaS or Managed Instance
Moving to the cloud; PaaS, IaaS or Managed Instance
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
PaaS Design & Architecture: A Deep Dive into Apache Stratos
PaaS Design & Architecture: A Deep Dive into Apache StratosPaaS Design & Architecture: A Deep Dive into Apache Stratos
PaaS Design & Architecture: A Deep Dive into Apache Stratos
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
Webinar NETGEAR - Switch ProSAFE per il disegno di rete nei livelli di core, ...
Webinar NETGEAR - Switch ProSAFE per il disegno di rete nei livelli di core, ...Webinar NETGEAR - Switch ProSAFE per il disegno di rete nei livelli di core, ...
Webinar NETGEAR - Switch ProSAFE per il disegno di rete nei livelli di core, ...
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
VMworld 2015: Advanced SQL Server on vSphere
VMworld 2015: Advanced SQL Server on vSphereVMworld 2015: Advanced SQL Server on vSphere
VMworld 2015: Advanced SQL Server on vSphere
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
 
Seize Profits in the Cloud with SolidFire
Seize Profits in the Cloud with SolidFire Seize Profits in the Cloud with SolidFire
Seize Profits in the Cloud with SolidFire
 
Essential Elements of an Enterprise PaaS
Essential Elements of an Enterprise PaaSEssential Elements of an Enterprise PaaS
Essential Elements of an Enterprise PaaS
 
ApacheCon Essential Elements of an Enterprise PaaS
ApacheCon Essential Elements of an Enterprise PaaSApacheCon Essential Elements of an Enterprise PaaS
ApacheCon Essential Elements of an Enterprise PaaS
 
Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014
 
Building a cloud native platform with Apache PaaS
Building a cloud native platform with Apache PaaSBuilding a cloud native platform with Apache PaaS
Building a cloud native platform with Apache PaaS
 
VMworld Europe 2014: Advanced SQL Server on vSphere Techniques and Best Pract...
VMworld Europe 2014: Advanced SQL Server on vSphere Techniques and Best Pract...VMworld Europe 2014: Advanced SQL Server on vSphere Techniques and Best Pract...
VMworld Europe 2014: Advanced SQL Server on vSphere Techniques and Best Pract...
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 

Cloud concepts