This is a wonderful story of how Pijul and Nest worked hard to overcome challenges brought about by the OVH data center fire earlier this year.
Also, I really like this footnote:
The realisation that naming things is a discipline of its own has probably even been one of the greatest discoveries of the 20th century. Cantor probably started that, by rebuilding foundations for mathematics (definitions were particularly fuzzy before him), Wittgenstein established a link with philosophy, blurring the distinction between mathematics and philosophy. Kuhn even established a distinction between the scientists who name things (whom he called “revolutionary”) and the others (the “normies”). Deleuze restated the role of the philosopher as a creator of concepts (which also applies outside of science), or in other words, as a professional namer. And by the way, the history of Computer Science is full of such half-philosophical, half-mathematical discoveries, where naming is almost everything: Turing machines, Communication Complexity, Yao’s principle…
Re: the part about using your own home-grown leader replication on top of Postgres: it seems it focuses on electing a new leader if it fails: do I understand that all database traffic gets routed to the leader? Do you serve read-only queries from the local replica?
The described setup looks like something that cockroachdb would be able to handle nicely, which perhaps is a little more battle-tested than what you wrote.
> do I understand that all database traffic gets routed to the leader? Do you serve read-only queries from the local replica?
No, and yes. The replica have a very large ping between them, serving everything from the leader would be extremely slow.
> The described setup looks like something that cockroachdb would be able to handle nicely, which perhaps is a little more battle-tested than what you wrote.
Thanks for the suggestion, I wasn't aware of Cockroachdb, I'll try to see how I can switch to that.
Also, "what I wrote" is just a small script to extend my previous setup (which used PostgreSQL) to replicae. I first read about Patroni, supposedly used by large companies, and went with that, before discovering that it requires a lot of monitoring, and can't work for a one-person team.
> Also, "what I wrote" is just a small script to extend my previous setup (which used PostgreSQL) to replicae.
I wouldn't discount your work, etcd is very stable, so it probably works very well for your use case.
As for using Cockroachdb, I guess it depends on your use cases: with what you have now, it seems like local reads are able to read stale data (someone updates x at the leader, while you read locally), but it might not be a problem for Nest. Cockroach will always try to read the latest version of the data, so unless you need serializability, the cost of switching might not be worth it.
> I wouldn't discount your work, etcd is very stable, so it probably works very well for your use case.
I had understood that, but code I don't write is code I don't have to maintain, so I'm obviously always totally open to suggestions (getting comments and suggestions is part of the reason I wrote that blog post to begin with).
> In the particular case of Scaleway, the largest shareholder is very active in French politics (to the point of buying a major news outlet), and a vocal supporter of the side that, in the last four years alone, caused months of riots (only stopped by Covid-19), organised militia against its fellow citizens, gave presidential interviews to magazines equating black people to slaves, and didn’t immediately and strongly object to threats of a military coup “in memory” of colonisation in Algeria.
Wow... that's... an extremely partisan description of Emmanuel Macron, to say the least. In particular, there's a lot to dislike about how Macron and the government handled the Benalla scandal, but saying they "organized a militia against its fellow citizens" is about as honest as saying "the US government is running extermination camps" because it detains immigrants.
Otherwise, the takeaway from that section seems to be "Scaleway is out of bounds because its largest owner is a supporter of the President of the Republic"? I'm sorry, but what?
What's next, you're not allowed to connect to a Pijul database if your ISP is Free, because Free is also owned by Xavier Niel? You're not allowed to contribute to the code if you were taught at the 42 School? (yes, I'm caricaturing, but still)
I'm not completely against politicization of tech; I get not wanting to build AI that ends up being used for militant policing, for instance; in this case, I get not wanting ties with Dassault to avoid getting tangled with the arms industry. But advertising "we won't work with this company because a shareholder is a support of the president and the president went on French Fox News once" is the kind of ultra-divisive, "we will separate the world into good guys and bad guys and erect an impassable wall between the two" mentality I just can't get behind.
First, let me restate something I wrote on the post: I want my service to be free from politics, and I was ready to consider any hosting service that I could trust would allow me to do that.
The word "partisan" is a bit ambiguous in your comment: just to clarify my position, disagreeing with one side (however strongly!) doesn't mean supporting the others.
The reason I wrote that lengthy argument against choosing Scaleway for this project, is that Scaleway was in a grey area for me: while it is obvious that the other two providers I mentioned aren't a good fit for this particular project, Scaleway is extremely competitive in many regards, and I've had to go through a lengthy reasoning to imagine what could go wrong for this particular project.
That said, I can see how a lengthy reasoning shouldn't always imply a lengthy phrasing, and in fact I agree that the statement in the post seems to mean the opposite of what I meant: since I wrote many more words about Scaleway, it does seem like I was trying to be mean to them, which is quite the opposite of what I really meant.
So, thanks for making me see that, I've fixed it in the post.
> but saying they "organized a militia against its fellow citizens" is about as honest as saying "the US government is running extermination camps" because it detains immigrants.
Detaining migrants is not exterminating them. Private people paid by to go beat up random protesters are usually called militiae. Moreover, Valeurs Actuelles is quite different from Fox News: in particular, Fox News is not explicitly promoting the slavery of black people, nor promoting military coups against the US government.
My only point here is: I believe people should be able to express and discuss any opinion that doesn't contradict my freedom to disagree. Note that in my (now amended) blog post, I didn't mention anything "political" in the sense of "open to debate".
> Scaleway is out of bounds because its largest owner is a supporter of the President of the Republic
Sorry, but you got that completely wrong. I obviously failed to communicate an essential difference I see between what I call politics (i.e. debatable opinions) and the "other thing", which is a denial of the basic right of others to disagree.
My point in the post was, someone who buys press outlets might not hesitate to do the same for contents they dislike on web services they host, or at least there is no strong indication that they won't do that. Given the fact that some cloud providers have done it in other European countries (as stated in the blog post), I wouldn't be surprised myself.
But even more strongly, I don't understand what to expect from that "other thing", and that scares me.
> What's next, you're not allowed to connect to a Pijul database if your ISP is Free
Again completely wrong (ironically, my mobile phone is on Free, and I've never used another ISP at home): the perspective from an ISP point of view is different from the hosting point of view. If one ISP decides to censor a website, this doesn't hurt the website very much, since users can change at a very low cost. This doesn't apply for cloud hosting, where the cost of moving can be really high.
> You're not allowed to contribute to the code if you were taught at the 42 School? (yes, I'm caricaturing, but still)
How is that even remotely connected to the issue of deciding where to host a web service?
> But advertising "we won't work with this company because a shareholder is a support of the president and the president went on French Fox News once" is the kind of ultra-divisive
It is actually the opposite of divisive: I want my service to be usable by people regardless of their political opinions, and this is only compatible with basic values of respect, tolerance and free speech. What I'm talking about here is even weaker than free speech, it's only the right to disagree without being humiliated (caricatured as a slave) or beaten up.
I've never heard of etcd being described as a "leader election tool." I'm sure it works, just not sure that's why it was written or how that might even look.
Also, as pleased as I am that pijul exists and as grateful as I am for the tireless efforts of the author of the post in trying to bring it about, I am less than enthused that an i3 notification bar and a laptop is a major contributor in the supply chain of backups for a server that people are supposed to trust as the final resting place of their code. There are several free-ish tools out there that allow this type of automation to take place that are more reliable, e.g. CircleCI.
As noted on the blog post, it's also instantly mirrored to the cloud with Restic, in addition to being replicated multiple times live. The i3 notification is meant to keep a constant eye on the thing, to make sure it does happen every day.
I wonder if this is a factual statement or just blathering. OVH had €600 million revenue in its last full year. AWS had $45370 million. If even 2% of AWS revenue is from Europe, then AWS is larger.
However, Amazon is a US company. So while it may be bigger, it's not in Europe "per se". OTOH, OVH is a European company since it was found inside EU borders.
So, OVH may be the biggest cloud provider in Europe, since it's a European company.
I have no experience working with them. I just wanted to clarify how OVH is considered European and AWS is not since I work in EU projects and I'm familiar with the perspective and thinking.
You would argue wrong. OVH (now renamed OVHcloud) is clearly and openly shifting from a webhosting company to a cloud company, and it has been for a few years now. Their name says it. Their landing page says it (the 4 maine categories have "cloud" in their name. All the official PR describe it as a cloud company.
I think SAP, Dassault and like give these services to test their capabilities and beta test their services in a somewhat lower risk environment. They also charge for it, so it's a win-win for them.
A slightly more advanced version of old MyRealBox, which was Novell's e-mail server public beta test. It was free and was working with 99.99% uptime from my experience.
OVH is the largest European cloud company. Amazon, Google and Microsoft don't count as European.
As a user of both, the price different may not be 75x, but I wouldn't be surprised if it were in the 10x-20x range. The polish is also quite different, and is consistent with the price difference.
The author (which is also the GP, btw) explicitly talks about what “in Europe” vs “not in Europe” means in the context of this post:
> In our case, we have a number of requirements linked to the fact that we host user-generated content, and we know our users may not want to be subjected to censorship by other countries or organisations. Since 2018, the CLOUD act directly enables the US administration to enforce US law onto data stored in any other country, whenever the hosting company is registered in the US.
Amazon's server are physically located on the European continent, but there are under the American jurisdiction which is the problem the author talks about.
Btw, did you know that there are in fact no data center at all on Europe[1].
Also, I really like this footnote:
The realisation that naming things is a discipline of its own has probably even been one of the greatest discoveries of the 20th century. Cantor probably started that, by rebuilding foundations for mathematics (definitions were particularly fuzzy before him), Wittgenstein established a link with philosophy, blurring the distinction between mathematics and philosophy. Kuhn even established a distinction between the scientists who name things (whom he called “revolutionary”) and the others (the “normies”). Deleuze restated the role of the philosopher as a creator of concepts (which also applies outside of science), or in other words, as a professional namer. And by the way, the history of Computer Science is full of such half-philosophical, half-mathematical discoveries, where naming is almost everything: Turing machines, Communication Complexity, Yao’s principle…