Building ClickHouse Cloud from scratch in a year
> A bi-directional API layer between the Control Plane and the Data Plane defines the only integration point between the two planes. We decided to go with a REST API for the following reasons:> REST APIs are independent of technology used, which helps avoid any dependency between Control Plane and Data Plane. We were able to change the language from Python to Golang in the Data Plane without any changes or impact to the Control Plane.
They offer a lot of flexibility, decoupling various server components which can evolve independently.
> They can scale efficiently due to the stateless nature of the requests - the server completes every client request independently of previous requests.Im not sure what REST apis are being compared against? Something like RPCs? If so, then using an interchange format like protobufs allows for automatic client generation in several languages. Additionally, schema changes are much less painful.