pdfErlangMaking reliable distributed systems in the presence of software errorsJoe ArmstrongEnglishRead