Skip to content

Universe-as-code

October 20, 2019

What if universe was managed as code? Of course, there will be a tool that would describe the state of the objects with the help of declarative YAML code.

use

We could easily manage planets in the solar system and easily update their attributes.

pluto as a planet

Yes, yes, Pluto is not a planet, it’s a dwarf planet. Let’s fix it.

pluto as a dwarf planet

The universe can be updated in a matter of nanoseconds, thanks to the U.S.E. platform.

pluto update log

What’s F.U.M.E? Of course, a proper provisioning tool cannot exist without a proper monitoring system.

fume

Ok, our tools seem to work great. Let’s create something real. Like a comet. Fast one.

comet

Starting my terminal, applying new code. For few seconds it seems that everything is awesome.

comet creation log

But then, what’s that message from our monitoring system?

Hmm, let’s remove that code and apply the state again.

comet is not deleted

What do you mean “up-to-date”? What do you mean still “approaching”?

Ah, right there in the docs, it says that they will only support automatic object deletion in next version (maybe). Need to run a compensating action to remove that comet from the system.

delete comet manually

Ok, enough playing around. Let’s fix some real bugs. The most critical in our issue tracking system: SOL-101: Lack of resources to maintain all the biological forms on Earth. How do we fix it? Hmm, maybe let’s increase the radius of the planet? Smart!

earth radius set to 8000km

This time we will go through a proper process. Let’s follow the true GitOps process. Let’s commit that code into Git.

git commit

No human should be involved in running that code manually. We should use CI server for that purpose. Of course, everyone knows it should be J.O.B.S.

jobs

Oh, it looks like J.O.B.S. already picked up our commit. But wait…

earth is being destroyed

What do you mean “destroying”? Abort! I repeat: “ABORT!!!”

Phew, we aborted timely. No serious action has been started. Also, we found the note in the documentation saying that planet’s radius change would force its recreation. Who would have thought? Ok, we have to prepare for the worst. It seems that U.S.E. supports backups.

planet backup code

Let’s apply that code. Ah, right, J.O.B.S. already did as I write this. Now we are safe. But wait, what’s that warning from F.U.M.E…

no space left in space

Need to clean-up now and go on to reading the docs.

The end. No tools or planets were harmed during creation of this post.