WIP articles
This commit is contained in:
parent
d46fc4ee01
commit
65ec82dd13
4 changed files with 115 additions and 0 deletions
57
content/blog/2024-fosdem/index.md
Normal file
57
content/blog/2024-fosdem/index.md
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
+++
|
||||||
|
title="Aerogramme in the modern email track at FOSDEM'24"
|
||||||
|
date=2024-02-05
|
||||||
|
+++
|
||||||
|
|
||||||
|
*FOSDEM is the European conference for FLOSS developpers. It was the first time Aerogramme was discussed publicly.
|
||||||
|
If you missed the presentation, a recording and the slides are available.*
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recording
|
||||||
|
|
||||||
|
<div class="video">
|
||||||
|
<video controls="controls" width="75%">
|
||||||
|
<source src="https://video.fosdem.org/2024/h2213/fosdem-2024-2642--servers-aerogramme-a-multi-region-imap-server.av1.webm" type="video/webm; codecs="av01.0.08M.08.0.110.01.01.01.0"">
|
||||||
|
<source src="https://video.fosdem.org/2024/h2213/fosdem-2024-2642--servers-aerogramme-a-multi-region-imap-server.mp4" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## Transcript
|
||||||
|
|
||||||
|
*(slide 1)* Aerogramme is a multi-region IMAP server, in this talk we will discuss what a "multi-region IMAP server" means and why it's important.
|
||||||
|
|
||||||
|
*(slide 2)*
|
||||||
|
Let's start with some context, my name is Quentin. I have a PhD in distributed system,
|
||||||
|
and this talk will be a lot about PhD distributed system because something I know.
|
||||||
|
I try to work as much as possible for a collective named Deuxfleurs where we try to build a low-tech Internet.
|
||||||
|
If you want to know more about our project, check yesterday talk about Garage.
|
||||||
|
Aerogramme is part of Deuxfleurs' strategy, and a very nice thing, this project is supported by NLnet.
|
||||||
|
|
||||||
|
*(slide 3)*
|
||||||
|
First, the problem we want to solve: we want to make other people available when it would be otherwise
|
||||||
|
impossible (due to geographical distances for example). We can achieve this goal only if the underlying system is working:
|
||||||
|
so we will talk a lot about availability and reliability.
|
||||||
|
|
||||||
|
*(slide 4)*
|
||||||
|
Today's talk is about 3 main ideas: 1) we should not trust the cloud & hosting providers as they can fail. 2) there is some space to explore alternative IMAP server designs and 3) and finally I will try to convince you that such new designs can work in the real life
|
||||||
|
|
||||||
|
*(slide 5)*
|
||||||
|
In the title talk, I speak about "multi-region", and so we must define first what is a "region".
|
||||||
|
On the slide is depicted the Google Cloud Platform (GCP) region in Paris: it's made of 3 datacenters.
|
||||||
|
Last april, the whole region, the 3 datacenters were unavailable for 3 weeks.
|
||||||
|
The outage lasted for 3 weeks for some services, and it was due to a fire in one datacenter.
|
||||||
|
And due to tight connections between the 3 datacenters, the 2 others ones were unusable due to a software problem.
|
||||||
|
3 weeks without emails, you imagine it can make your life very hard if you need to do some important stuff, like seeking a new job.
|
||||||
|
|
||||||
|
*(rest of the transcript is missing currently)*
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- [Download Slides](https://fosdem.org/2024/events/attachments/fosdem-2024-2642--servers-aerogramme-a-multi-region-imap-server/slides/22665/aerogramme_vmnrj3Q.pdf)
|
||||||
|
- [Aerogramme Talk Page](https://fosdem.org/2024/schedule/event/fosdem-2024-2642--servers-aerogramme-a-multi-region-imap-server/)
|
||||||
|
- [Modern Email Track](https://fosdem.org/2024/schedule/track/modern-email/)
|
||||||
|
- [2024 edition main page](https://fosdem.org/2024/)
|
||||||
|
|
BIN
content/blog/2024-predictability-and-correctness/fetch-full.png
Normal file
BIN
content/blog/2024-predictability-and-correctness/fetch-full.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
58
content/blog/2024-predictability-and-correctness/index.md
Normal file
58
content/blog/2024-predictability-and-correctness/index.md
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
+++
|
||||||
|
title="Aerogramme 0.2.2: predictability & user testing"
|
||||||
|
date=2024-02-22
|
||||||
|
+++
|
||||||
|
|
||||||
|
*Let's review how Aerogramme performances became more predictable, why it's important, and showcase how user testing helped surface bugs.*
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This minor version of Aerogramme put the focus on 2 aspects of the software: predictable performances & collecting user feedbacks.
|
||||||
|
In the following, I describe both aspect in details.
|
||||||
|
|
||||||
|
## More predictable performances
|
||||||
|
|
||||||
|
![Fetch resource usage for Aerograme 0.2.1 & 0.2.2](fetch-full.png)
|
||||||
|
|
||||||
|
![Search resource usage for Aerograme 0.2.1 & 0.2.2](search-full.png)
|
||||||
|
|
||||||
|
*TODO AWS SDK*
|
||||||
|
|
||||||
|
## Users feedbacks
|
||||||
|
|
||||||
|
*Dovecot AUTH continuation inlining* - When a username + password is short,
|
||||||
|
the Dovecot SASL Auth protocol allows the client (here Postfix)
|
||||||
|
to send the base64 inlined, without having to wait for the continuation.
|
||||||
|
It was not supported by Aerogramme and was preventing some users from authenticating.
|
||||||
|
|
||||||
|
*Pipelining limits (reported by Nicolas)* - Pipeling limit set to 3.
|
||||||
|
Avoiding DoS resources. But failing some honest clients like Mutt.
|
||||||
|
Bumped to 64, will be watched in the next months.
|
||||||
|
|
||||||
|
*SASL Auth subtleties (reported by Nicolas)* - Authorization can be empty, or can be set to the same value as Authentication.
|
||||||
|
Second case not handled but required by Fair Email (thx Nicolas)
|
||||||
|
|
||||||
|
*Thunderbird Autodiscovery issues (reported by LX & Nicolas)* - K9 stable does not support `%EMAILLOCALPART%`.
|
||||||
|
K9 beta (6.714) does not support some values marked as obsolete in the `authentication` field: `plain` is not supported anymore, `password-cleartext` must be used instead.
|
||||||
|
Content-Type is important also, if a wrong one is sent, content is silently ignored by some clients.
|
||||||
|
|
||||||
|
*Broken LITERAL+ (reported by Maxime)* - It was not possible to copy more than one email at once to an Aerogramme mailbox.
|
||||||
|
It was due to the fact we were using an old version of imap-flow that was not correctly supporting LITERAL+.
|
||||||
|
Upgrading imap-flow to the latest version fixed the problem.
|
||||||
|
|
||||||
|
*Broken IDLE (reported by Maxime)* - After updating imap-flow, we started noticing some timeouts in Thunderbird due to IDLE bugs.
|
||||||
|
When IDLE was implemented in Aerogramme, the code was not ready in imap-flow,
|
||||||
|
and thus I used some hacks. But upgrading the library broke my hacks for the best: now
|
||||||
|
imap-flow supports IDLE out of the box, and thus Aerogramme code is now cleaner and more maintainable.
|
||||||
|
|
||||||
|
Some others quality of life feedbacks not reported here have been made by MrFlos & Nicolas, thanks to all the people that took part in this debugging adventure.
|
||||||
|
|
||||||
|
## Download and test the new version
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run registry.deuxfleurs.org/aerogramme:0.2.2
|
||||||
|
```
|
||||||
|
|
||||||
|
[Download](/download/) - [Changelog](#)
|
BIN
content/blog/2024-predictability-and-correctness/search-full.png
Normal file
BIN
content/blog/2024-predictability-and-correctness/search-full.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
Loading…
Reference in a new issue