Skip to content

Instantly share code, notes, and snippets.

@sheepkiller
sheepkiller / System Design.md
Created April 29, 2016 05:30 — forked from vasanthk/System Design.md
System Design Cheatsheet

#System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

##Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
@sheepkiller
sheepkiller / docker-compose.yml
Last active March 18, 2016 19:35 — forked from chris-zen/docker-compose.yml
Kafka 0.9.0.1 Docker Compose
# Docker compose to have Zookeeper, Kafka, and Kafka Manager running for development.
zookeeper:
image: confluent/zookeeper
ports:
- "2181:2181"
kafka:
# My PR to update to 0.9.0.1 has been already merged, so very soon it will be possible
# to replace my kafka fork by the original one **wurstmeister/kafka:0.9.0.1**
@sheepkiller
sheepkiller / sshd.go
Last active August 29, 2015 14:19 — forked from jpillora/sshd.go
// A small SSH daemon providing bash sessions
//
// Server:
// cd my/new/dir/
// #generate server keypair
// ssh-keygen -t rsa
// go get -v .
// go run sshd.go
//
// Client:

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
  1. General Background and Overview