Apache Ratis adalah perpustakaan Java yang mengimplementasikan protokol Raft [1], di mana versi makalah Raft yang diperluas tersedia di https://raft.github.io/raft.pdf. Makalah ini memperkenalkan Raft dan menyatakan motivasinya dengan kata-kata berikut:
Raft adalah algoritma konsensus untuk mengelola log yang direplikasi. Ini menghasilkan hasil yang setara dengan (multi-)Paxos, dan sama efisiennya dengan Paxos, namun strukturnya berbeda dari Paxos; hal ini membuat Raft lebih mudah dipahami dibandingkan Paxos dan juga memberikan landasan yang lebih baik untuk membangun sistem praktis.
Ratis bertujuan untuk membuat Raft tersedia sebagai perpustakaan java yang dapat digunakan oleh sistem apa pun yang perlu menggunakan log yang direplikasi. Ini memberikan kemampuan pluggabilitas untuk implementasi mesin negara untuk mengelola negara yang direplikasi. Ini juga menyediakan pluggability untuk log Raft, implementasi rpc, dan implementasi metrik untuk memudahkan integrasi dengan proyek lain. Tujuan penting lainnya adalah untuk mendukung penyerapan data dengan throughput tinggi sehingga dapat digunakan untuk kasus penggunaan replikasi data yang lebih umum.