This document discusses designing fault tolerant web services on AWS. It covers motivation for fault tolerance on AWS, inherent fault tolerant AWS components like availability zones and Elastic IPs, and how to implement redundancy using Auto Scaling and Elastic Load Balancing. It then discusses designing high availability at the web/app, load balancing, and database layers, providing options for session synchronization and load balancing. It proposes a new load balancing algorithm that dynamically adapts strategies based on real-time server stats.
by Rahul Sareen, Sr. IoT Consultant, AWS Professional Services
AWS Lambda and Amazon API Gateway have changed how developers build and run their applications or services. But what are the best practices for tasks such as deployment, monitoring, and debugging in a serverless world? In this session, we’ll dive into best practices that serverless developers can use for application lifecycle management, CI/CD, monitoring, and diagnostics. We’ll talk about how you can build CI/CD pipelines that automatically build, test, and deploy your serverless applications using AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation. We’ll also cover the built-in capabilities of Lambda and API Gateway for creating multiple versions, stages, and environments of your functions and APIs. Finally, we’ll cover monitoring and diagnostics of your Lambda functions with Amazon CloudWatch and AWS X-Ray.
by Adam Westrich, Solutions Architect, AWS
AWS Lambda and Amazon API Gateway have changed how developers build and run their applications or services. But what are the best practices for tasks such as deployment, monitoring, and debugging in a serverless world? In this session, we’ll dive into best practices that serverless developers can use for application lifecycle management, CI/CD, monitoring, and diagnostics. We’ll talk about how you can build CI/CD pipelines that automatically build, test, and deploy your serverless applications using AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation. We’ll also cover the built-in capabilities of Lambda and API Gateway for creating multiple versions, stages, and environments of your functions and APIs. Finally, we’ll cover monitoring and diagnostics of your Lambda functions with Amazon CloudWatch and AWS X-Ray.
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects.
In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
Amazon Aurora New Features - September 2016 Webinar SeriesAmazon Web Services
Amazon Aurora is a fully managed MySQL-compatible database with high-end commercial database features and performance at one-tenth the cost. Since launching Aurora a year ago we have added many new capabilities and features. Some of these features include encryption, database snapshot sharing, enhanced monitoring, cross-region replication, S3 binary snapshot ingestion and customized failover priority. In this session we'll demonstrate how these features work and discuss how you can make the best use of them.
Learning Objectives:
• Learn about the newly added features of Aurora
• Learn how to use those features
• Learn when and why to use those features
Who Should Attend:
• IT Managers, DBAs, Enterprise and Solution Architects, Devops Engineers and Developers
by Rahul Sareen, Sr. IoT Consultant, AWS Professional Services
AWS Lambda and Amazon API Gateway have changed how developers build and run their applications or services. But what are the best practices for tasks such as deployment, monitoring, and debugging in a serverless world? In this session, we’ll dive into best practices that serverless developers can use for application lifecycle management, CI/CD, monitoring, and diagnostics. We’ll talk about how you can build CI/CD pipelines that automatically build, test, and deploy your serverless applications using AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation. We’ll also cover the built-in capabilities of Lambda and API Gateway for creating multiple versions, stages, and environments of your functions and APIs. Finally, we’ll cover monitoring and diagnostics of your Lambda functions with Amazon CloudWatch and AWS X-Ray.
by Adam Westrich, Solutions Architect, AWS
AWS Lambda and Amazon API Gateway have changed how developers build and run their applications or services. But what are the best practices for tasks such as deployment, monitoring, and debugging in a serverless world? In this session, we’ll dive into best practices that serverless developers can use for application lifecycle management, CI/CD, monitoring, and diagnostics. We’ll talk about how you can build CI/CD pipelines that automatically build, test, and deploy your serverless applications using AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation. We’ll also cover the built-in capabilities of Lambda and API Gateway for creating multiple versions, stages, and environments of your functions and APIs. Finally, we’ll cover monitoring and diagnostics of your Lambda functions with Amazon CloudWatch and AWS X-Ray.
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects.
In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
Amazon Aurora New Features - September 2016 Webinar SeriesAmazon Web Services
Amazon Aurora is a fully managed MySQL-compatible database with high-end commercial database features and performance at one-tenth the cost. Since launching Aurora a year ago we have added many new capabilities and features. Some of these features include encryption, database snapshot sharing, enhanced monitoring, cross-region replication, S3 binary snapshot ingestion and customized failover priority. In this session we'll demonstrate how these features work and discuss how you can make the best use of them.
Learning Objectives:
• Learn about the newly added features of Aurora
• Learn how to use those features
• Learn when and why to use those features
Who Should Attend:
• IT Managers, DBAs, Enterprise and Solution Architects, Devops Engineers and Developers
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects.
In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects. In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
by Madhuri Peri, DevOps Consultant, AWS Professional Services
Different containerized services have different needs. You may want to deploy containers to ensure availability, maximize resource utilization, or ensure data security. As you build and run production microservices based on containers, having powerful tools to manage the placement and scheduling of these workloads is critical. In this talk, we will focus on the capabilities of the Amazon EC2 Container Service task placement engine, options for task scheduling, and explore the use cases and construction of custom task schedulers. Level 300
Distributed Serverless Stack Tracing and Monitoring - DevDay Los Angeles 2017Amazon Web Services
What to Expect:
- AWS Lambda concepts
- Common Serverless use cases
- Monolithic vs. service oriented architecture
- Debugging applications with AWS Cloudwatch and AWS X-Ray
With a high pace of innovation and features and services launched daily, it can be hard to keep up with what’s new from AWS. The AWS Quarterly Update is a new way to catch up and review the biggest updates from the past quarter. You will have the opportunity to ask Jeff Barr questions during the live Q&A session following the presentation.
Learning Objectives:
Understand new releases
Understand how AWS new releases can help you
Architecting for High Availability - Pop-up Loft Tel AvivAmazon Web Services
AWS provides a platform that is ideally suited for building highly available systems, enabling you to build reliable, affordable, fault-tolerant systems that operate with a minimal amount of human interaction. This session covers many of the high-availability and fault-tolerance concepts and features of the various services that you can use to build highly reliable and highly available applications in the AWS Cloud: architectures involving multiple Availability Zones, including EC2 best practices and RDS Multi-AZ deployments; loosely coupled and self-healing systems involving SQS and Auto Scaling; networking best practices for high availability, including Elastic IP addresses, load balancing, and DNS; leveraging services that inherently are built with high-availability and fault tolerance in mind, including S3, Elastic Beanstalk and more.
AWS launched publicly on March 2006 with just one service, starting the age of the public cloud. You might think after 15 years everything in cloud has already been invented, but that's simply not the case.
In this session I want to show you how AWS is reinventing the cloud in areas like computing, machine learning, databases and analytics, or cloud infrastructure.
AWS AI Media & Entertainment Seminar - NYC, August 15, 2017Amazon Web Services
Presentations from the AWS Media & Entertainment Seminar on Artificial Intelligence in NYC on August 15, 2017. Attendees spent the afternoon with AWS and a few of our Media and Entertainment customers exploring how M&E organizations can derive higher productivity and new business insight using AI services, platforms, tools and infrastructure on the AWS Cloud.
Sometimes you just need to spin up a virtual server, install your LAMP stack or web app, and go. No complex configurations - just a few clicks and a simple, low price.
AWS re:Invent 2016: Elastic Load Balancing Deep Dive and Best Practices (NET403)Amazon Web Services
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects.
In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
Deep learning is an implementation of machine learning that uses neural networks to solve difficult and complex problems, such as computer vision, natural language processing, and recommendations. Due to the availability of deep learning libraries and frameworks, developers have the ability to enhance the capabilities of their applications and projects. In this workshop, you learn how to build and deploy a powerful deep learning framework called MXNet on containers. The portability and resource management benefit of containers means developers can focus less on infrastructure and more on building. The labs start by demonstrating the automation capabilities of AWS CloudFormation to stand up core infrastructure; as an added bonus, you use Spot Fleet to leverage the cost benefits of using Spot Instances, especially for developer environments. Then, you walk through creating an MXNet container in Docker and deploying it with Amazon ECS. Finally, you walk through an image classification demo of MXNet to validate that everything is working as expected.
Pre-reqs: Laptop and AWS account
by Madhuri Peri, DevOps Consultant, AWS Professional Services
Different containerized services have different needs. You may want to deploy containers to ensure availability, maximize resource utilization, or ensure data security. As you build and run production microservices based on containers, having powerful tools to manage the placement and scheduling of these workloads is critical. In this talk, we will focus on the capabilities of the Amazon EC2 Container Service task placement engine, options for task scheduling, and explore the use cases and construction of custom task schedulers. Level 300
Distributed Serverless Stack Tracing and Monitoring - DevDay Los Angeles 2017Amazon Web Services
What to Expect:
- AWS Lambda concepts
- Common Serverless use cases
- Monolithic vs. service oriented architecture
- Debugging applications with AWS Cloudwatch and AWS X-Ray
With a high pace of innovation and features and services launched daily, it can be hard to keep up with what’s new from AWS. The AWS Quarterly Update is a new way to catch up and review the biggest updates from the past quarter. You will have the opportunity to ask Jeff Barr questions during the live Q&A session following the presentation.
Learning Objectives:
Understand new releases
Understand how AWS new releases can help you
Architecting for High Availability - Pop-up Loft Tel AvivAmazon Web Services
AWS provides a platform that is ideally suited for building highly available systems, enabling you to build reliable, affordable, fault-tolerant systems that operate with a minimal amount of human interaction. This session covers many of the high-availability and fault-tolerance concepts and features of the various services that you can use to build highly reliable and highly available applications in the AWS Cloud: architectures involving multiple Availability Zones, including EC2 best practices and RDS Multi-AZ deployments; loosely coupled and self-healing systems involving SQS and Auto Scaling; networking best practices for high availability, including Elastic IP addresses, load balancing, and DNS; leveraging services that inherently are built with high-availability and fault tolerance in mind, including S3, Elastic Beanstalk and more.
AWS launched publicly on March 2006 with just one service, starting the age of the public cloud. You might think after 15 years everything in cloud has already been invented, but that's simply not the case.
In this session I want to show you how AWS is reinventing the cloud in areas like computing, machine learning, databases and analytics, or cloud infrastructure.
AWS AI Media & Entertainment Seminar - NYC, August 15, 2017Amazon Web Services
Presentations from the AWS Media & Entertainment Seminar on Artificial Intelligence in NYC on August 15, 2017. Attendees spent the afternoon with AWS and a few of our Media and Entertainment customers exploring how M&E organizations can derive higher productivity and new business insight using AI services, platforms, tools and infrastructure on the AWS Cloud.
Sometimes you just need to spin up a virtual server, install your LAMP stack or web app, and go. No complex configurations - just a few clicks and a simple, low price.
AWS re:Invent 2016: Elastic Load Balancing Deep Dive and Best Practices (NET403)Amazon Web Services
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing's configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
Elastic Load Balancing Deep Dive and Best Practices - Pop-up Loft Tel AvivAmazon Web Services
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing's configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service's many customization choices. We also share best practices and useful tips for success.
Scaling drupal horizontally and in cloudVladimir Ilic
Vancouver Drupal group presentation for April 25, 2013.
How to deploy Drupal on
- multiple web servers,
- multiple web and database servers, and
- how to join all that together and make site deployed on Amazon Cloud (Virtual Private Cloud) inside
- one availability zone
- multiple availability zones deployment.
Session cover details about what you need in order to get Drupal deployed on separate servers, what are issues/concerns, and how to solve them.
Elastic Load Balancing is a hugely available service that distributes traffic across Amazon Elastic Compute Cloud (Amazon EC2) instances. It includes options that provide flexibility and control of incoming requests to Amazon EC2 instances.
Slide for ELB (Elastic Load Balancer), which is a topic of AWS Architect Associate and AWS SysOps Certification training for individual or group or corporate training.
A presentation covering three new services from Amazon Web Services: the new Application Load Balancer (ALB), recent updates to the EC2 Container Service (ECS), and the new Kinesis Analytics.
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances for fault tolerance and load distribution. In this session, we go into detail about Elastic Load Balancing's configuration and day-to-day management, as well as its use in conjunction with Auto Scaling. We explain how to make decisions about the service and share best practices and useful tips for success.
AWS offers a comprehensive portfolio of compute services allowing customers to develop, deploy, run, and scale applications and workloads in the world’s most powerful, secure and innovative compute cloud. As customer implements AWS @Scale, it is essential to understand how to leverage the Big Three compute patterns – Virtual Server Hosting (Amazon EC2), Micro services (ECS/EKS) and Serverless computing (AWS Lambda) in ways that accelerate your Cloud adoption. This session will cover how Amazon EC2, Elastic Container Service(ECS), managed Amazon Kubernetes (EKS) and AWS Lambda are important additions to enterprises adopt AWS @scale. Join our discussion as we focus on patterns for usage and how to secure these respective workloads as you adopt these compute platforms in the enterprise environment.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
2. +
Agenda
Motivation
How do we design FT web services on AWS
Research in Load Balancing Algorithms
Future Study
Questions!!
3. +
Motivation
Not everything on the cloud is fault tolerant!!
You have to design it to be Fault Tolerant
AWS offers Dynamic Fault tolerance
Around 40% of the users using AWS do not deploy any redundancy in
their setup.
The price involved in using resources on the cloud has fallen by
Roughly 2500% in 7 years.
AWS service warranty claims 99.95% availability. That‟s around 4
hours downtime in a year.
4. +
Inherent Fault tolerant components
Amazon Simple storage (S3)
Amazon Elastic Load Balancing(ELB)
Amazon Elastic Compute Cloud(EC2)
Amazon Elastic Block Store (EBS)
“The above inherit Fault tolerant components provide features
such as AZ, Elastic IP‟s , Snapshots that a Fault Tolerant HA
system must take advantage of and use Correctly” .
Simply said AWS has given you the resources to make HA / FT
applications.
5. +
AWS Components
Amazon EC2 (Amazon Elastic Compute
Cloud) :- Web service that provides
computing resources i.e. server
instances to host your software.
AMI (Amazon Machine Image) :
Template basically contains s/w & h/w
configuration applied to instance type.
EBS (Elastic Block Store) :- Block Level
storage volumes for EC2‟s. Not
associated with instance. AFR is around
.1 to .5 %.
6. +
Availability Zones
Amazon AZ are zones within same region.
Engineered to be insulated from failures of other AZ‟s.
Independent Power, cooling, network & security.
7. +
Elastic IP Addresses
Public IP addresses that can be
mapped to any EC2 Instance within
a particular EC2 region.
Addresses are associated with AWS
account and not the instance.
In case of failure of EC2 Component
, detach Elastic IP from the failed
component and map it to a reserve
EC2.
Mapping downtime around 1-2 Mins.
8. +
Auto Scaling
Auto Scaling enables you to automatically scale up or down the
EC2 capacity.
You Define your own rules to achieve this. E.g. When no of
running EC2‟s < X , launch Y EC2‟s.
Use metrics from Amazon CloudWatch to launch/terminate
EC2‟s . E.g. resource utilization above certain threshold.
E.g. of AS & ELB next ->
9. +
Elastic Load Balancing
Elastic Load Balancer distributes
incoming traffic across available EC2
instances.
Monitors EC2‟s and removes Failed
EC2 resources.
Works in parallel with Auto Scaling to
provide FT.
10. +
Implement N+1 Redundancy Auto
Scaling & ELB
Lets say N=1 .
Define rule X :- 2 Instances of defined AMI always available.
ELB distributes load among the 2 servers. Enough capacity for
each server to handle the entire capacity i.e. N=1
Server 1 Goes down
Server 2 can process the entire traffic.
Auto Scaling identifies failure and launches healthy EC2 using
the AMI to fulfill rule X.
11. +
Fault Tolerance Web Design
Architecting High Availability in AWS
High Availability in the Web/App Layer
High Availability in the Load Balancing Layer
High Availability in the Database Layer
12. +
Web/App Layer
It is a common practice to launch the Web/App layer in more
than one EC2 Instance to avoid SPOF.
How would user session information be shared between the
EC2 servers?
It is hence necessary to synchronize session data among EC2
servers.
Not every user can work with stateless server configurations.
14. +
Web/App Layer
Option 1 : JGroups
Toolkit for reliable messaging
Can be used by Java based servers.
Suited for max of around 5-10 EC2‟s.
Not suited for larger architectures.
15. +
Web/App server
Option 3 : RDMS
Many use it but considered poor design.
Master will be overwhelmed by session
requests.
A m1.RDS MySQL Master has max 600
connections. 400 online users will
generate session requests. Only 200
connections left to serve transaction/user
authentication requests.
Can cause intermittent web service
downtime due to above reason.
16. +
Web/App Layer
Option 2:- MemCached
Highly Used , Supports multiple
platforms.
Save user session data in multiple
nodes to avoid SPOF (trade off
latency to write to multiple nodes)
Depending on requirements create
high memory EC2 instances for
MemCached/Elasti Cache.
Can scale up to tens of thousands of
requests.
17. +
Load Balancing Layer
It balances the load among the available EC2 instances.
SPOF in the LB can bring down the entire site during outage.
Equally important as replicating servers, databases etc.
Many ways to build highly available Load balancing Tier.
18. +
Load Balancing Tier
Option 1: Elastic Load Balancer
Inherently Fault Tolerant.
Automatically distributes incoming traffic
among EC2 Instances.
Automatically creates more ELB EC2
Instance when load increases to avoid
SPOF.
Detects health of EC2 Instances and
routes to only healthy instances.
19. +
ELB Implementation Architecture
Single Server Setup
Not Recommended , yet most
followed!!
What is there to balance !!!??
No fault tolerance benefit.
SPOF in the terms of LB & EC2
instance.
20. +
ELB Implementation Architecture
Multi-Server Setup (in AZ)
HTTP/S requests are directed to EC2
by the ELB.
Multiple EC2 instances in same AZ
under ELB tier.
ELB load balances the requests
between the Web/App EC2 instances.
21. +
ELB Implementation Architecture
ELB with Auto Scaling(inside AZ)
Web/App Ec2 are configured with
AutoScaling to scale out/down.
Amazon ELB can direct the load
seamlessly to the EC2 instances
configured with AutoScaling.
22. +
ELB Implementation Architecture
Multiple AZ’s inside a Region
Multiple Web/App EC2 instances can
reside across multiple AZ‟s inside a
AWS region.
ELB is doing multi AZ load balancing.
23. +
ELB Implementation Architecture
ELB with Amazon AutoScaling
across AZ’s
EC2 can be configured with
amazon autoscaling to scale
out/down across AZ’s.
Highly recommended . Highest
Availability offered among all ELB
implementations.
24. +
Issues with ELB
Supports only round-robin & sticky session algorithms.
Weighted as of 2013.
Designed to handle incremental traffic. Sudden Flash traffic can
lead to non availability until scaling up occurs.
The ELB needs to be “Pre-warmed” to handle sudden traffic.
Currently not configurable from the AWS console.
Known to be “non – round robin” when requests are generated
from single or specific range of IP‟s.
Like multiple requests from within a company operating on a
specific range of IP.
25. +
3rd party Load Balancer
3rd Party Load Balancers
Nginx & Haproxy to work as Load
Balancers.
Use your own scripts to scale up EC2 „s
& LB‟s.
AutoScaling Works best with ELB.
26. +
Load Balancing Algorithms
Random :- Send connection requests to server randomly (Simple
but inefficient)
Round Robin :- Round Robin passes each new connection request
to next server in line. Eventually distributing connections evenly.
Weighted Round Robin :- Assign weights to Machines based on the
capacity , no of connections each machine receives depends on
weights.
More Algos such as Least Connections, Fastest etc.
27. +
Proposed Research
A Load Balancing Algorithm that adapts its strategies for
allocating web requests dynamically.
Prober :- Gather Status info from Web Servers every 50 ms.
CPU Load on server
Server‟s response rate
No of requests served
Allocator: - Based on prober update , allocator updates weights
allocated.
The proposed algo differs by considering local & local
information at each web server to choose the best server to
allocate request.
28. +
Real Time Server Stats Load
Balancing (RTSLB)
Deciding Factors used in algorithm
Weighted metric of cache hits on different servers.
CPU Load of Web Server
Server Response Rate
No of Clients requests being handled
31. +
Results
RTSLB outperforms the other Load based algorithms. The difference would
be much higher if the no of connections would increase.
32. +
Future Study
Neural Networks based LB algorithms have a promising future.
Increasing availability by further improving existing LB
Algorithms.
Studying the results in a cloud environment.