Interesting techniques applied to wrong usages may hurt. A thread 🔽
Seems obvious in lots of domain but not in our Software development field (note: I didn’t talk about software Engineering on purpose)
Me: Why do we have such an increase of infrastructure costs recently?
SRE: It seems that we have a new “OTF env” fad since last month… As a result, more than 70% of our global infrastructure costs are related to non-production environments...
Me: Whaaat? How does this happen? What is “OTF env” exactly?
SRE: OTF envs means “On-The-Fly environments”. It is a mechanism we have recently built in order to setup our entire stack (monolith, new apis, db, message brokers etc) on a K8 dev cluster in a couple of minutes.
It looks like some devs are using it for every new feature. They create their own OTF env for every new Merge Request.
Me: I understand the usage of OTF envs for stress tests or in order to quickly setup an iso-prod env (to reproduce and troubleshoot an issue). But…
…mounting a brand new set of pods and infra for every one of us doesn’t look like a scalable approach in term of cost and in term of Continuous Delivery practices.
I’ll talk to them.
Me: Hi, could you please tell me why you are using OTF environments? There is a bunch of them alive and it costs us a lot of money.
Dev: OTF env? Yeah, it’s a new way for us to work with our Product Manager in a stable environment for every new feature. This is so cool!
Me: What is the life time of such OTF env?
Dev: until we finished our feature and its QA, and until we’ve merged it into main.
Me: what you just describe me can last days, didn’t we say that we will going towards Continuous Delivery? That instead of releasing every 2 weeks like now, we will start working on releasing multiple times a day?
Dev: Precisely. The team that have asked this OTF envs capability are saying that they are doing Continuous Delivery.
Me: What?!? Working on long lived branches like this have nothing to deal with Continuous Delivery IMO.
Dev: they told us they were doing it, and that they were releasing their new features whenever they wanted (after their final merge).
Me: ok, Got it. It works because they are a small team working on a green field project (i.e. not legacy) where things are properly modularized.
I.e. they do not have merging conflict. But I still does not understand why they are not doing trunk-based dev in such conditions. It would have cost us less in infrastructure.
Dev: actually they do have merging issues some time to time.
Me: I’m not really surprised…
Dev: those cases arrived when someone just released in production their version. The next ones can’t do that so they are forced to merge. And I heard some cases were they were having more than 3 different releases to make in a row…
…In that case the last one may have suffered from doing multiple merges in a row. But it should be rare
Me: reason why it would have been better to identify earlier such conflicts and to reduce the complexity of the merge IMO. But anyway…
…I understand they journey looking at the size of the team etc. But what about you? You are working on the legacy which is not completely modularized. Your merge sessions should be awful if you are working in isolation for such amount of time…
Dev: Yes but it is like before. But now we have OTF envs to work quietly around a feature with our Product Manager.
Me : but what was the problem working with collective environments such as DEV & UAT ones?
Dev: They aren’t stable enough. I don’t want my work to be jeopardized by others.
Me: fair enough but why aren’t they stable? Aren’t you using feature toogles so that you can hide uncompleted features?
Dev: we are supposed to but we are still working like the old days, with draft and broken things pushed all along and a consolidation period made before the code freeze, just before the release.
Me: don’t you think that using workarounds such as OTF env for your own stability/isolation will prevent us from collectively managing our real issues (such as the low quality of what is pushed between 2 releases)?
Dev: Dunno, but OTF are really cool!
Me like…
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Sometimes you have to live it to believe it. My 5y son is also the only “black” boy of his class (and almost the only one in this school with his 3,5 years brother)
He has been bullied for 2 years because of his hair...
Last week for the first day at school, we found him like😳
Even if you don’t call out racism and just talk about bullying, people (parents, some teachers) say that these are just accidents, that we exaggerate...
People usually reverse the thing which turns this into a double penalty.
1. You are victim of an ugly thing. And then 2. you are accused of exaggeration.
For the Wachowski sisters, every element you can find in a movie (script, part of directing, music, colors...) is a mean to convey an idea, a worldview.
Thread 🔽
They are expecting the audience to challenge their movie, to question it. They also put lots of effort to make thought-provoking entertainment films.
Jean Baudrillard (french philosopher) who criticized the Wachowskis at the time of The Matrix's release, saying that they did not understand his work "Simulacres et Simulation" was wrong.
More than 25 years after my last physics course at university, I picked up my old textbook to refresh myself on quantum physics & thermodynamics this WE.
Thread to come about What is Time (episode 2).
Ok. Since some of you have requested me in PM to continue with the topic of time, I’ll take some time to zoom on the conclusion of ‘the Order of Time’ (Carlo Rovelli’s great book).
In particular the part where he explains that Time doesn’t really exist ;-)
But before jumping into his conclusion on ‘what is time’, we must first make some reminders about 2 main branches of physics: thermodynamics and quantum mechanics.
“The mystery of Time has always troubled us. It awakens deep emotions which nourish philosophy and religions" (Carlo Rovelli)
What if Time did not exist?
Thread ⬇️
2 visions on ‘What is Time?’ has been opposed for many years: that of Aristotle and that of Newton.
For Aristotle, Time is the measurement of change. Things change continually. We call ‘time’ the measurement, the counting of this change.
If nothing changes, there is no time.
For him, Time is what we refer to when we ask ‘when?’ ‘After how much time will you return?’ means ‘When will you return?’ The answer to the question ‘when?’ refers to something that happens.