Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GeekcampSG - Introduction to Distributed Systems

GeekcampSG - Introduction to Distributed Systems

laurenceputra

August 18, 2012
Tweet

More Decks by laurenceputra

Other Decks in Programming

Transcript

  1. • A step by step magical formula that will ensure

    100% uptime WHAT THIS TALK IS NOT
  2. DISTRIBUTED SYSTEMS A collection of independent computers that appear to

    the users of the system as a single computer - Tanenbaum
  3. YUP It is one of those hardcore CS stuff that

    requires both practical ability and theoretical knowledge
  4. FAULT TOLERANT System should function even during failures of some

    parts Also known as making resources available
  5. OPENNESS Easy to extend and reimplement certain parts Set of

    rules to describe the standard behaviour
  6. Replication in computing involves sharing information so as to ensure

    consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. From Wikipedia [http://en.wikipedia.org/wiki/Replication_(computing)]
  7. Human-speak : Storing your data multiple times in multiple locations

    and praying hard that all of them do not die at the same time
  8. •Reads on any of the nodes •Writes only on master

    node •Works on the principle of eventually correct data
  9. Horizontal partitioning is a database design principle whereby rows of

    a database table are held separately, rather than splitting by columns (which is what normalization and vertical partitioning do, to differing extents). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location.
  10. Machine 1 Machine 2 Machine 3 Alabama → Arizona Colorado

    → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming TLDR VERSION
  11. Machine 1 Machine 2 Machine 3 Alabama → Arizona Colorado

    → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming These users are still fine!
  12. Machine 1 Machine 2 Machine 3 Alabama → Arizona Colorado

    → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming Machine 4 Machine 5 Machine 6 Alabama → Arizona Colorado → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming
  13. Machine 1 Machine 2 Machine 3 Alabama → Arizona Colorado

    → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming Machine 4 Machine 5 Machine 6 Alabama → Arizona Colorado → Florida Arkansas → California Indiana → Kansas Idaho → Illinois Georgia → Hawaii Maryland → Michigan Kentucky → Maine Minnesota → Missouri Montana → Montana Nebraska → New Jersey Ohio → Pennsylvania New Mexico → North Dakota Rhode Island → South Dakota Tennessee → Utah Vermont → West Virgina Wisconsin → Wyoming
  14. Chaos Monkey Latency Monkey Conformity Monkey Doctor Monkey Janitor Monkey

    Security Monkey Chaos Gorilla NETFLIX SIMIAN ARMY
  15. CHAOS MONKEY • Shuts down instances randomly • Allows the

    team to learn about weaknesses in the system • Gets the team to build auto recovery systems
  16. LATENCY MONKEY • Introduces artificial delays in api client-server communication

    layer • Simulates server degradation • Useful for testing fault tolerance of new services
  17. CONFORMITY MONKEY • Shuts down servers that don’t adhere to

    best practices • Forces the service owner to relaunch them properly
  18. DOCTOR MONKEY • Runs checks on health of servers •

    Remove unhealthy servers from service and alerts service owner
  19. SECURITY MONKEY • Scans for security violations or vulnerabilities •

    Ensures that SSL and DRM certs are not expiring
  20. CHAOS GORILLA • Shuts down all instances within an availability

    zone • Protects themselves from electric storms
  21. Q&A