One year after the twelve days: what I changed in how I work
Contents
Last June, for twelve days, there was a war over my head. I do not want to explain Iran in one post, I cannot, and people who ask me to do it in one comment are usually not asking a real question. I only want to write what happened to my work, because many developers in many countries may need this one day, and I hope they never do.
The first nights we heard explosions in Tehran. My parents went to my aunt in the north, like half of the city tried to do, the roads were full. I stayed some days because our servers and our on-call were here, which now I think was stupid. Then the international internet was almost completely cut for most of a week. Domestic sites worked. Google did not, GitHub did not, our monitoring SaaS did not, the Go module proxy did not. Our app worked inside the country, because our servers are inside, but we could not build anything new.
My friend, it was so much hard to explain to my manager why I cannot "just push the fix". The fix needed one dependency which was not in our cache.
What I changed, one year later
- Go modules: we run Athens as a module proxy on our own server. Everything we use is cached.
GOPROXYpoints to it first. - npm: Verdaccio, same idea. It proxies the public registry and keeps every tarball we ever installed.
- apt: apt-cacher-ng for our Debian servers and developer machines.
- Containers: a pull-through registry with all our base images, and we pull the new versions when the network is good, not when we need them.
- Docs: Zeal with offline docsets for Go, Postgres, Python, Kotlin. Sounds silly until you need the Postgres docs and cannot open them.
- A one page "if the internet dies" document: who calls whom, by normal phone and SMS, what we freeze, who has the keys to which server. Printed. On paper.
I am anti-war. I am critical of all the governments involved, including mine, and I do not blame ordinary people anywhere. I know there were ordinary people in shelters on the other side too, listening to the same sky. I hope this year their children sleep, and ours.
Hafez, because it is me:
یوسف گم گشته باز آید به کنعان غم مخور
Lost Joseph will return to Canaan, do not grieve.
Get the best of #wars_votes_and_wires weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to comment