SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Servers fail, who cares? (Answer: I do, sort of)
Gregg Ulrich, Netflix – @eatupmartha #netflixcloud #cassandra12


                                                                  1
June 29,
  2012     2
3
4
[1]
      5
From the Netflix tech blog:



“Cassandra, our distributed cloud persistence store which
is distributed across all zones and regions, dealt with the
loss of one third of its regional nodes without any loss of
data or availability.[2]”




                                                              6
Topics
 Cassandra at Netflix
 Constructing clusters in AWS with Priam
 Resiliency
 Observations on AWS, Cassandra and AWS/Cassandra
 Monitoring and maintenances
 References



                                                     7
Cassandra by the numbers

41         Number of production clusters
13         Number of multi-region clusters
4          Max regions, one cluster
90         Total TB of data across all clusters
621        Number of Cassandra nodes
72/34      Largest Cassandra cluster (nodes/data in TB)
80k/250k   Max read/writes per second on a single cluster
3*         Size of Operations team

           * We are hiring DevOps and Developers.   Stop by our booth!
                                                                         8
Netflix Deployed on AWS
Content       Logs           Play          WWW        API              CS

   Content       S3                                                   International
                                DRM         Sign-Up    Metadata
 Management   Terabytes                                                CS lookup



    EC2                                                 Device        Diagnostics &
                 EMR         CDN routing    Search
  Encoding                                            Configuration      Actions



     S3                                     Movie      TV Movie       Customer Call
              Hive & Pig     Bookmarks
  Petabytes                                Choosing    Choosing           Log



               Business                                 Social
                              Logging       Ratings                   CS Analytics
              Intelligence                             Facebook

   CDNs
   ISPs
  Terabits
 Customers
Constructing clusters in AWS with Priam
 Tomcat webapp for Cassandra administration
 Token management
 Full and incremental backups
 JMX metrics collection
 cassandra.yaml configuration
 REST API for most nodetool commands
 AWS Security Groups for multi-region clusters
 Open sourced, available on github [3]
                                                  10
Autoscaling Groups
                 Region                                                              ASGs do not map directly to
                                                                                     nodetool ring output, but are
                                                                                     used to define the cluster (#
                                                                                     of instances, AZs, etc).
Address          DC        Rack       Status State      Load        Owns     Token
                                                                             …
###.##.##.###    eu-west   1a         Up       Normal   108.97 GB   16.67%   …
###.##.#.##      us-east   1e         Up       Normal   103.72 GB   0.00%    …       Amazon machine image
##.###.###.###   eu-west   1b         Up       Normal   104.82 GB   16.67%   …
##.##.##.###     us-east   1c         Up       Normal   111.87 GB   0.00%    …       Image loaded on to an AWS
##.###.##.###    eu-west   1c         Up       Normal   95.51 GB    16.67%   …       instance; all packages needed
##.##.##.##      us-east   1d         Up       Normal   105.85 GB   0.00%    …       to run an application.
##.###.##.###    eu-west   1a         Up       Normal   91.25 GB    16.67%   …
###.##.##.###    us-east   1e         Up       Normal   102.71 GB   0.00%    …
##.###.###.###   eu-west   1b         Up       Normal   101.87 GB   16.67%   …
##.##.###.##     us-east   1c         Up       Normal   102.83 GB   0.00%    …       Security Group
###.##.###.##    eu-west   1c         Up       Normal   96.66 GB    16.67%   …
##.##.##.###     us-east   1d         Up       Normal   99.68 GB    0.00%    …       Defines access control
                                                                                     between ASGs

Instance                   Availability Zone
                                 (AZ)
                                                                                 AWS Terminology
                                                                           A     Constructing a cluster in AWS
                                                                                                                     11
APP is not an AWS
                                                                                                            entity, but one that we
                                                  App = cass_cluster                                        use internally to denote
                                                                                                            a service. This is part
                                                                                                            of asgard [4], our open-
                                ASG # 1                    ASG # 2                       ASG # 3            sourced cloud
Multi-region clusters                                                                                       application web
have the same              Availabilty Zone = A    Availability Zone = B           Availability Zone = C    interface
configuration in each
region. Just repeat what    Region = us-east           Region = us-east             Region = us-east
you see here!
                           Instance count = 6       Instance count = 6              Instance count = 6

                             Instance type =           Instance type =               Instance type =
                               m2.4xlarge                m2.4xlarge                    m2.4xlarge




                                                                External full backups
                                                                to an alternate region
                                                                saved for 30 days.
Full and incremental
Backups to local-region      S3                   S3
S3 via Priam
                                                                                            Cassandra Configuration
                                                                                    B       Constructing a cluster in AWS
                                                                                                                                   12
AMI contains os, base netflix packages                      Priam runs on each node and
                           and Cassandra and Priam                                     will:

                                                                                       * Assign tokens to each
                                                                                         node, alternating (1) the
                                                                    Cassandra
(1) Alternate                   C        A         B                  Priam
                                                                                         AZs around the ring (2).
availability zones                                                                     * Perform nightly snapshot
                                                                     Tomcat
(a, b, c) around the                                                                     backup to S3
ring to ensure data        B                              C
is written to                                                                          * Perform incremental
multiple data                                                                            SSTable backups to S3
centers.
                       A                                      A                        * Bootstrap replacement
(2) Survive the                                                                          nodes to use vacated
loss of a data                                                                           tokens
center by ensuring         C                              B           S3               * Collect JMX metrics for our
that we only lose                                                                        monitoring systems
one node from
each replication                B                  c                                   * REST API calls to most
set.                                     A                                               nodetool functions



                                                                                Putting it all together
                                                                     C          Constructing a cluster in AWS
                                                                                                                     13
Resiliency - Instance
• RF=AZ=3
• Cassandra bootstrapping works really well
• Replace nodes immediately
• Repair often




                                              15
Resiliency – One availability zone
 RF=AZ=3
 Alternating AZs ensures that each AZ has a full replica of
  data
 Provision cluster to run at 2/3 capacity
 Ride out a zone outage; do not move to another zone
 Bootstrap one node at a time
 Repair after recovery


                                                               16
What happened on June 29th?
 During outage
   All Cassandra instances in us-east-1a were inaccessible
   nodetool ring showed all nodes as DOWN
   Monitoring other AZs to ensure availability
 Recovery – power restored to us-east-1a
   Majority of instances rejoined the cluster without issue
   Majority of remainder required a reboot to fix
   Remainder of nodes needed to be replaced, one at a time


                                                               17
Resiliency – Multiple availability zones
 Outage; can no longer satisfy quorum
 Restore from backup and repair




                                           18
Resiliency - Region
 Connectivity loss between regions – operate as island
  clusters until service restored
 Repair data between regions
 If an entire region disappears, watch DVDs instead




                                                          19
Observations: AWS
 Ephemeral drive performance is better than EBS
 S3-backed AMIs help us weather EBS outages
 Instances seldom die on their own
 Use as many availability zones as you can afford
 Understand how AWS launches instances
 I/O is constrained in most AWS instance types
   Repairs are very I/O intensive
   Large size-tiered compactions can impact latency
 SSDs[5] are game changers [6]
                                                       20
Observations: Cassandra
 A slow node is worse than a down node
 Cold cache increases load and kills latency
 Use whatever dials you can find in an emergency
   Remove node from coordinator list
   Compaction throttling
   Min/max compaction thresholds
   Enable/disable gossip
 Leveled compaction performance is very promising
 1.1.x and 1.2.x should address some big issues
                                                     21
Monitoring
 Actionable
   Hardware and network issues
   Cluster consistency
 Cumulative trends
 Informational
   Schema changes
   Log file errors/exceptions
   Recent restarts


                                  22
Dashboards - identify anomalies




                                  23
Maintenances
 Repair clusters regularly
 Run off-line major compactions to avoid latency
    SSDs will make this unnecessary
 Always replace nodes when they fail
 Periodically replace all nodes in the cluster
 Upgrade to new versions
    Binary (rpm) for major upgrades or emergencies
    Rolling AMI push over time

                                                      24
References
1. A bad night: Netflix and Instagram go down amid
   Amazon Web Services outage (theverge.com)
2. Lessons Netflix learned from AWS Storm (techblog.netflix.com)
3. github / Netflix / priam (github.com)
4. github / Netflix / asgard (github.com)
5. Announcing High I/O Instances for Amazon (aws.amazon.com)
6. Benchmarking High Performance I/O with SSD for
   Cassandra on AWS (techblog.netflix.com)
                                                                   25

Weitere ähnliche Inhalte

Was ist angesagt?

AWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAmazon Web Services
 
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012Amazon Web Services
 
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...Adrian Cockcroft
 
Supporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via DeltacloudSupporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via DeltacloudOved Ourfali
 
An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)Andreas Chatzakis
 
Masterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceMasterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceDeepak Singh
 
#lspe: Dynamic Scaling
#lspe: Dynamic Scaling #lspe: Dynamic Scaling
#lspe: Dynamic Scaling steveshah
 
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You ThousandsAmazon Web Services
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastMapR Technologies
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
 
Island: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderIsland: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderHui Cheng
 
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Servicescloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web ServicesVMEngine
 
Meetup Niort Data - AWS Intelligence Artificielle
Meetup Niort Data - AWS Intelligence ArtificielleMeetup Niort Data - AWS Intelligence Artificielle
Meetup Niort Data - AWS Intelligence ArtificielleOlivier Cahagne
 
Container Orchestration with Amazon ECS
Container Orchestration with Amazon ECSContainer Orchestration with Amazon ECS
Container Orchestration with Amazon ECSAmazon Web Services
 
CloudStack-Development-Story
CloudStack-Development-StoryCloudStack-Development-Story
CloudStack-Development-StoryKimihiko Kitase
 

Was ist angesagt? (20)

Netflix in the cloud 2011
Netflix in the cloud 2011Netflix in the cloud 2011
Netflix in the cloud 2011
 
NetflixOSS Meetup
NetflixOSS MeetupNetflixOSS Meetup
NetflixOSS Meetup
 
AWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAWS Update | London - Overview of New Releases
AWS Update | London - Overview of New Releases
 
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012
DAT202 Optimizing your Cassandra Database on AWS - AWS re: Invent 2012
 
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
 
Supporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via DeltacloudSupporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
 
Agile in the Coud
Agile in the CoudAgile in the Coud
Agile in the Coud
 
An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)
 
Masterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale scienceMasterworks talk on Big Data and the implications of petascale science
Masterworks talk on Big Data and the implications of petascale science
 
#lspe: Dynamic Scaling
#lspe: Dynamic Scaling #lspe: Dynamic Scaling
#lspe: Dynamic Scaling
 
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
 
(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands(CMP311) This One Weird API Request Will Save You Thousands
(CMP311) This One Weird API Request Will Save You Thousands
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and Fast
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
 
Amazon ec2
Amazon ec2Amazon ec2
Amazon ec2
 
Island: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderIsland: Local Storage Volume for Cinder
Island: Local Storage Volume for Cinder
 
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Servicescloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
 
Meetup Niort Data - AWS Intelligence Artificielle
Meetup Niort Data - AWS Intelligence ArtificielleMeetup Niort Data - AWS Intelligence Artificielle
Meetup Niort Data - AWS Intelligence Artificielle
 
Container Orchestration with Amazon ECS
Container Orchestration with Amazon ECSContainer Orchestration with Amazon ECS
Container Orchestration with Amazon ECS
 
CloudStack-Development-Story
CloudStack-Development-StoryCloudStack-Development-Story
CloudStack-Development-Story
 

Andere mochten auch

461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11anup4704
 
თეას გეგმა
თეას გეგმათეას გეგმა
თეას გეგმაteanaveriani
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologiesanup4704
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologiesanup4704
 
Optimizing Cassandra in AWS
Optimizing Cassandra in AWSOptimizing Cassandra in AWS
Optimizing Cassandra in AWSgreggulrich
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Cuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectCuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectVipul Chavan
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურაteanaveriani
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidenceVipul Chavan
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflixgreggulrich
 

Andere mochten auch (18)

461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11461361 1013243 chapter_2_dec__11
461361 1013243 chapter_2_dec__11
 
თეას გეგმა
თეას გეგმათეას გეგმა
თეას გეგმა
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologies
 
Blue Ocean: case study
Blue Ocean: case studyBlue Ocean: case study
Blue Ocean: case study
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Brendaly guerra
Brendaly guerraBrendaly guerra
Brendaly guerra
 
Oracle and its related technologies
Oracle and its related technologiesOracle and its related technologies
Oracle and its related technologies
 
Jason Hanin: case study
Jason Hanin: case studyJason Hanin: case study
Jason Hanin: case study
 
MPD-case study
MPD-case studyMPD-case study
MPD-case study
 
Talking effectively about code
Talking effectively about codeTalking effectively about code
Talking effectively about code
 
Optimizing Cassandra in AWS
Optimizing Cassandra in AWSOptimizing Cassandra in AWS
Optimizing Cassandra in AWS
 
Boost3 / Investor Pitchbook
Boost3 / Investor PitchbookBoost3 / Investor Pitchbook
Boost3 / Investor Pitchbook
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Cuffless blood pressure monitoring project
Cuffless blood pressure monitoring projectCuffless blood pressure monitoring project
Cuffless blood pressure monitoring project
 
ინგლისის კულტურა
ინგლისის კულტურაინგლისის კულტურა
ინგლისის კულტურა
 
Polygraph machine
Polygraph machinePolygraph machine
Polygraph machine
 
Building self confidence
Building self confidenceBuilding self confidence
Building self confidence
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
 

Ähnlich wie Servers fail, who cares?

Architectures for High Availability - QConSF
Architectures for High Availability - QConSFArchitectures for High Availability - QConSF
Architectures for High Availability - QConSFAdrian Cockcroft
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS Riyadh User Group
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSAmazon Web Services
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSAmazon Web Services
 
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Amazon Web Services
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudIndicThreads
 
AWS 101 business seminar in Taipei
AWS 101 business seminar in TaipeiAWS 101 business seminar in Taipei
AWS 101 business seminar in TaipeiAmazon Web Services
 
Acunu & OCaml: Experience Report, CUFP
Acunu & OCaml: Experience Report, CUFPAcunu & OCaml: Experience Report, CUFP
Acunu & OCaml: Experience Report, CUFPAcunu
 
13h00 aws 2012-fault_tolerant_applications
13h00   aws 2012-fault_tolerant_applications13h00   aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applicationsinfolive
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...IndicThreads
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture FutureKimihiko Kitase
 
Cloud computing with AWS
Cloud computing with AWS Cloud computing with AWS
Cloud computing with AWS ikanow
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudAmazon Web Services
 
Cassandra serving netflix @ scale
Cassandra serving netflix @ scaleCassandra serving netflix @ scale
Cassandra serving netflix @ scaleVinay Kumar Chella
 
Netflix presents at MassTLC Cloud Summit 2013
Netflix presents at MassTLC Cloud Summit 2013Netflix presents at MassTLC Cloud Summit 2013
Netflix presents at MassTLC Cloud Summit 2013MassTLC
 
R Jobs on the Cloud
R Jobs on the CloudR Jobs on the Cloud
R Jobs on the CloudJohn Doxaras
 

Ähnlich wie Servers fail, who cares? (20)

Netflix and Open Source
Netflix and Open SourceNetflix and Open Source
Netflix and Open Source
 
Architectures for High Availability - QConSF
Architectures for High Availability - QConSFArchitectures for High Availability - QConSF
Architectures for High Availability - QConSF
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
AWS 101 business seminar in Taipei
AWS 101 business seminar in TaipeiAWS 101 business seminar in Taipei
AWS 101 business seminar in Taipei
 
Acunu & OCaml: Experience Report, CUFP
Acunu & OCaml: Experience Report, CUFPAcunu & OCaml: Experience Report, CUFP
Acunu & OCaml: Experience Report, CUFP
 
Introduction to AWS tools
Introduction to AWS toolsIntroduction to AWS tools
Introduction to AWS tools
 
13h00 aws 2012-fault_tolerant_applications
13h00   aws 2012-fault_tolerant_applications13h00   aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
 
Fault Tolerant Applications on AWS
Fault Tolerant Applications on AWSFault Tolerant Applications on AWS
Fault Tolerant Applications on AWS
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
 
Data Stores @ Netflix
Data Stores @ NetflixData Stores @ Netflix
Data Stores @ Netflix
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture Future
 
Cloud computing with AWS
Cloud computing with AWS Cloud computing with AWS
Cloud computing with AWS
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS Cloud
 
Cassandra serving netflix @ scale
Cassandra serving netflix @ scaleCassandra serving netflix @ scale
Cassandra serving netflix @ scale
 
Netflix presents at MassTLC Cloud Summit 2013
Netflix presents at MassTLC Cloud Summit 2013Netflix presents at MassTLC Cloud Summit 2013
Netflix presents at MassTLC Cloud Summit 2013
 
R Jobs on the Cloud
R Jobs on the CloudR Jobs on the Cloud
R Jobs on the Cloud
 

Kürzlich hochgeladen

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Kürzlich hochgeladen (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Servers fail, who cares?

  • 1. Servers fail, who cares? (Answer: I do, sort of) Gregg Ulrich, Netflix – @eatupmartha #netflixcloud #cassandra12 1
  • 2. June 29, 2012 2
  • 3. 3
  • 4. 4
  • 5. [1] 5
  • 6. From the Netflix tech blog: “Cassandra, our distributed cloud persistence store which is distributed across all zones and regions, dealt with the loss of one third of its regional nodes without any loss of data or availability.[2]” 6
  • 7. Topics  Cassandra at Netflix  Constructing clusters in AWS with Priam  Resiliency  Observations on AWS, Cassandra and AWS/Cassandra  Monitoring and maintenances  References 7
  • 8. Cassandra by the numbers 41 Number of production clusters 13 Number of multi-region clusters 4 Max regions, one cluster 90 Total TB of data across all clusters 621 Number of Cassandra nodes 72/34 Largest Cassandra cluster (nodes/data in TB) 80k/250k Max read/writes per second on a single cluster 3* Size of Operations team * We are hiring DevOps and Developers. Stop by our booth! 8
  • 9. Netflix Deployed on AWS Content Logs Play WWW API CS Content S3 International DRM Sign-Up Metadata Management Terabytes CS lookup EC2 Device Diagnostics & EMR CDN routing Search Encoding Configuration Actions S3 Movie TV Movie Customer Call Hive & Pig Bookmarks Petabytes Choosing Choosing Log Business Social Logging Ratings CS Analytics Intelligence Facebook CDNs ISPs Terabits Customers
  • 10. Constructing clusters in AWS with Priam  Tomcat webapp for Cassandra administration  Token management  Full and incremental backups  JMX metrics collection  cassandra.yaml configuration  REST API for most nodetool commands  AWS Security Groups for multi-region clusters  Open sourced, available on github [3] 10
  • 11. Autoscaling Groups Region ASGs do not map directly to nodetool ring output, but are used to define the cluster (# of instances, AZs, etc). Address DC Rack Status State Load Owns Token … ###.##.##.### eu-west 1a Up Normal 108.97 GB 16.67% … ###.##.#.## us-east 1e Up Normal 103.72 GB 0.00% … Amazon machine image ##.###.###.### eu-west 1b Up Normal 104.82 GB 16.67% … ##.##.##.### us-east 1c Up Normal 111.87 GB 0.00% … Image loaded on to an AWS ##.###.##.### eu-west 1c Up Normal 95.51 GB 16.67% … instance; all packages needed ##.##.##.## us-east 1d Up Normal 105.85 GB 0.00% … to run an application. ##.###.##.### eu-west 1a Up Normal 91.25 GB 16.67% … ###.##.##.### us-east 1e Up Normal 102.71 GB 0.00% … ##.###.###.### eu-west 1b Up Normal 101.87 GB 16.67% … ##.##.###.## us-east 1c Up Normal 102.83 GB 0.00% … Security Group ###.##.###.## eu-west 1c Up Normal 96.66 GB 16.67% … ##.##.##.### us-east 1d Up Normal 99.68 GB 0.00% … Defines access control between ASGs Instance Availability Zone (AZ) AWS Terminology A Constructing a cluster in AWS 11
  • 12. APP is not an AWS entity, but one that we App = cass_cluster use internally to denote a service. This is part of asgard [4], our open- ASG # 1 ASG # 2 ASG # 3 sourced cloud Multi-region clusters application web have the same Availabilty Zone = A Availability Zone = B Availability Zone = C interface configuration in each region. Just repeat what Region = us-east Region = us-east Region = us-east you see here! Instance count = 6 Instance count = 6 Instance count = 6 Instance type = Instance type = Instance type = m2.4xlarge m2.4xlarge m2.4xlarge External full backups to an alternate region saved for 30 days. Full and incremental Backups to local-region S3 S3 S3 via Priam Cassandra Configuration B Constructing a cluster in AWS 12
  • 13. AMI contains os, base netflix packages Priam runs on each node and and Cassandra and Priam will: * Assign tokens to each node, alternating (1) the Cassandra (1) Alternate C A B Priam AZs around the ring (2). availability zones * Perform nightly snapshot Tomcat (a, b, c) around the backup to S3 ring to ensure data B C is written to * Perform incremental multiple data SSTable backups to S3 centers. A A * Bootstrap replacement (2) Survive the nodes to use vacated loss of a data tokens center by ensuring C B S3 * Collect JMX metrics for our that we only lose monitoring systems one node from each replication B c * REST API calls to most set. A nodetool functions Putting it all together C Constructing a cluster in AWS 13
  • 14. Resiliency - Instance • RF=AZ=3 • Cassandra bootstrapping works really well • Replace nodes immediately • Repair often 15
  • 15. Resiliency – One availability zone  RF=AZ=3  Alternating AZs ensures that each AZ has a full replica of data  Provision cluster to run at 2/3 capacity  Ride out a zone outage; do not move to another zone  Bootstrap one node at a time  Repair after recovery 16
  • 16. What happened on June 29th?  During outage  All Cassandra instances in us-east-1a were inaccessible  nodetool ring showed all nodes as DOWN  Monitoring other AZs to ensure availability  Recovery – power restored to us-east-1a  Majority of instances rejoined the cluster without issue  Majority of remainder required a reboot to fix  Remainder of nodes needed to be replaced, one at a time 17
  • 17. Resiliency – Multiple availability zones  Outage; can no longer satisfy quorum  Restore from backup and repair 18
  • 18. Resiliency - Region  Connectivity loss between regions – operate as island clusters until service restored  Repair data between regions  If an entire region disappears, watch DVDs instead 19
  • 19. Observations: AWS  Ephemeral drive performance is better than EBS  S3-backed AMIs help us weather EBS outages  Instances seldom die on their own  Use as many availability zones as you can afford  Understand how AWS launches instances  I/O is constrained in most AWS instance types  Repairs are very I/O intensive  Large size-tiered compactions can impact latency  SSDs[5] are game changers [6] 20
  • 20. Observations: Cassandra  A slow node is worse than a down node  Cold cache increases load and kills latency  Use whatever dials you can find in an emergency  Remove node from coordinator list  Compaction throttling  Min/max compaction thresholds  Enable/disable gossip  Leveled compaction performance is very promising  1.1.x and 1.2.x should address some big issues 21
  • 21. Monitoring  Actionable  Hardware and network issues  Cluster consistency  Cumulative trends  Informational  Schema changes  Log file errors/exceptions  Recent restarts 22
  • 22. Dashboards - identify anomalies 23
  • 23. Maintenances  Repair clusters regularly  Run off-line major compactions to avoid latency  SSDs will make this unnecessary  Always replace nodes when they fail  Periodically replace all nodes in the cluster  Upgrade to new versions  Binary (rpm) for major upgrades or emergencies  Rolling AMI push over time 24
  • 24. References 1. A bad night: Netflix and Instagram go down amid Amazon Web Services outage (theverge.com) 2. Lessons Netflix learned from AWS Storm (techblog.netflix.com) 3. github / Netflix / priam (github.com) 4. github / Netflix / asgard (github.com) 5. Announcing High I/O Instances for Amazon (aws.amazon.com) 6. Benchmarking High Performance I/O with SSD for Cassandra on AWS (techblog.netflix.com) 25

Hinweis der Redaktion

  1. Outline of presentationJun 29 outageContext - cassandra and aws - updated usage numbers - include architecture diagram with cassandra called outHow clusters are constructed – blueprint diagrams should include #1 – aws make-up – ASG and Azs #2 - instance particulars #3 - priam s3Resiliency - node, zone and region outagespriam – bootstrapping, monitoring, backup and restore, open sourceMonitoring - what we monitor - tools we use - epic/atlas and dashboards, and Maintenance tasks - jenkinsThings we monitor Issues we haveNote on SSDs
  2. Minimum cluster size = 6
  3. … Developer in house …Quickly find problems by looking into codeDocumentation/tools for troubleshooting are scarce… repairs …Affect entire replication set, cause very high latency in I/O constrained environment… multi-tenant …Hard to track changes being madeShared resources mean that one service can affect another oneIndividual usage only growsMoving services to a new cluster with the service live is non-trivial… smaller per-node data …Instance level operations (bootstrap, compact, etc) are faster
  4. Extension of Epic, using preconfigured dashboards for each clusterAdd additional metrics as we learn which to monitor