HNHacker News
TopNewBestAskShowJobs

obrien1984ae

1 karma · joined March 3, 2021

submissionscomments
obrien1984ae··on Ask HN: Can we think of DNA as Infrastructure as Code
> For example, one very important difference is that DNA can be edited and lose history, unlike blockchain, but an intact fossil record could be used to infer how those edits came in over time and space, kind of like an incomplete distributed ledger.

That is a very good point.

It is true that editing blockchain completely destroys the chain, and editing DNA in very specific ways does not. I was thinking (when I wrote it) that because of the way the genes interact it can be completely destructive to take only a single piece of DNA. But, as you correctly point out, we do that all the time. So, yes, the blockchain analogy only partially fits.

Thank you.

obrien1984ae··on Ask HN: Can we think of DNA as Infrastructure as Code
A better analogy for DNA in computer science would be LLMs. Each organism's DNA represents an experiment being performed in service of training a model. If that experiment manages to procreate, its successful mutations graduate into another round of experiments.

This has gone on for several billion years, resulting in a largely stable model within which experiment are continuing to be run.

As with LLMs, DNA doesn't know anything about the data it is being trained on ("Nature"). And that model continues to change even as the experiments are run.

So DNA is a "blockchain" record of previous and current hypotheses on which traits enable an organism to live to viability. Some of these hypotheses are "dead code," as the environment no longer contains the pressure which made them critical. Some of them are essential to viability. Some of them are experiments whose value has not yet been determined.

Assuming your question is whether IaC could learn from patterns in DNA, I think that's a very interesting idea. Certainly we desire that every loadbalancer, database, and iam policy be capable of self-defense, and be the hardiest, most fit version of itself possible.

Where the analogy struggles is that people writing IaC are more in the business of designing "natures" than they are designing individual organisms which would survive a chaotic and hostile "nature" being enforced on them. And people who write IaC might be unhappy to hear that getting to a "viable" database would require launching several thousand databases in an environment and, after some period of changes, seeing which one is performing best so they can clone that "best" database configuration when new databases are needed.

obrien1984ae··on Crossplane vs. Terraform
"Where Terraform can fall apart is when more engineers need to collaborate to manage their organisation’s infrastructure."

I have seen this _so often_, with large teams of Engineers resorting to one of two methods to deal with the terraform sprawl:

1. Breakup the terraform into ever smaller modules, which reduces blast radius of the drift, but at the cost of visibility. 2. "-target" applies. Which amounts to basically the same thing as #1.

Terraform offers small teams a common language for controlling their infrastructure, and an efficient method of comparing desired state to actual state. Crossplane appears to have a clear yaml syntax (easy enough to commit to source control) and runs a control plane for enforcement (easier than setting up Atlantis, I imagine).