Immutable Infrastructure Realized: Fugue Computing
luminal.com
luminal.com
Disclosure: I am a founder and the CEO of Luminal.
In a distributed, and therefore often largely stateless system at the instance level, the system boundary is now outside the individual instance. The performer (a series of instances over time in Fugue) is roughly analogous to a process on an individual computer. Truth and trust are maintained by knowing and controlling the state of the instances themselves with Fugue. Think of the Conductor as analogous to the kernel in a traditional OS, where providing processes CPU time and resources is a regular course of business.
As for unnecessary work, we've found that maintaining systems in place, with all the failure, complexity and configuration drift that's inevitable is much more expensive than using some of the excess capacity of a given performer. Most systems target 70% or so utilization - we use some of that excess to lifecycle.
I hope this answers the question and we're really excited to get feedback on what we're doing so it's relevant to your work.
It will indeed! And with a compiled language so you can get meaningful errors, etc. before spinning up resources that cost $.
- Josh
Although I'm not a fan of the vocabulary you guys are using - but that may be because I'm one of those silly JavaScript people. I guess specifically, I'd love to see some screen recordings of this in action. Do you guys have any you can show off? Keep up the good work, immutability is a critical key to making any type of progress in software.
Thanks for the comments and well-wishes! We chose to use some new terms to not overload existing ones where we are introducing new concepts (Conductor, Performers, etc.). The analogues to music conceptually were so strong they seemed the right way to go. We will have lots more in the way of howto's, screen recordings, etc. in the coming weeks as we recover from launching our beta at re:Invent. Sign up for the beta and we'll send out bits with examples and runnable code in <15 mins.
- Josh
Where do you think our approach will add overhead to your development? We'd love to know so that we can either explain better or get a better product match for you. With Fugue, you get a Conductor that continually monitors and conforms the environment to your declarations - we think that has a lot of value for operating your environment as opposed to just creating it.
- Josh