Yet Another Rabbit Hole

I feel like I’ve talked about this before. But, I’m going to talk about it again, because it is relevant.

Almost six years ago, I discovered an interesting way to manage money, you could call it realtime accounting if you want. I decided to use WordPress as my frontend platform of choice for a variety of reasons.

Since I don’t do things half-assed when I got the time, I decided to figure out how to make WordPress super-duper scalable with Docker. Since scaling WordPress is well defined and easy to reproduce, all I had to do was implement it in a Docker fashion. Not too difficult, but also not as easy as one would think. It took about a year of late nights to get it right…

Well, now I’ve got to actually deploy it. I don’t have time to play devops, write code, and manage a business, so it needs to run itself without human intervention until The End of the Interwebs.

Well, there doesn’t seem to be any docker orchestration service in existence that is distributed (as in no central server), self-healing (as in entire datacenters going down and it still works), fast (as in 30-40s launch times), reliable (as in still running the next day), and easy to use (as in simple). So, it looks like I have to build that too… Hello rabbit holes, it’s getting pretty warm down here.

So, what’s in store for me over the next couple years?

  • Deploying nodes in a way that actually makes sense, because docker-machine is just that awful. If you want to troll me, tell me how much you love it… I dare you.
  • Deploying applications in a way that actually makes sense, because everything else is ridiculously over-the-top. I shouldn’t need a bajillion tools to deploy my application, I also shouldn’t have things that kinda-work deploying my application. ie, no one eats their own dog food. If I’m wrong, please correct me because I want to use whatever it is.
  • For the love of God, will someone make a volume plugin worth half a damn? No offense for all the people out there who’ve gone to great lengths to make one… I still want to beat your project with a stick. (Except probably not your particular project, probably one of the others. Not going to call anyone out here cough)

Also, wtf is up with all this fake scarcity bs? Docker Cloud is charging per the hour, per node… So, wait, I’m going to pay to run some software on my hardware per hour? What is this, 1978? Should I bring my punch cards? That’s just epically not scalable.

Speaking of scalable … none of the orchestration services I’ve seen have really even considered scalability. Sure, there’s ECS by Amazon… but who the hell is running that in Production? Maybe Google is hiding the answer from me, but nobody noteworthy that I can find, or have heard. ECS seems to be the answer but there is one big thing in my way:

I am deathly terrified of vendor lock-in.

And I mean deathly. I would rather give my firstborn son to Rumplestiltskin than get locked into a vendor. Some people like Kool-Aid, I prefer soda of the Pepsi or the Coca Cola variety, I don’t care. Sure, some things are too big to die, that’s what some people said about Enron or Blockbuster or Atari … hell, sometimes even Obama will bail you out (Thanks Obama); eventually you’ll want to move, and quickly. I promise. Call it gut, call it whatever, I just got this feeling someone’s going to disrupt aws in a big way. I don’t want to be stuck there.

Where was I? Oh yes, this hugemongous thing. Let’s call it MagPie, because why not? I promise it will be so much different than anything else in existence. In fact, it probably won’t do anything useful for awhile…

By the time I’m finished, someone else will have made something better, and I’ll use it. Until then, I’ll go down this rabbit hole in case someone doesn’t. At some point, someone should come down here with me, it is really warm this close to hell.

Until next time,

Rob

PS. My life is great, I’m not close to hell. Unless you’re talking about rabbit holes, in which case, I’m getting closer to hell every day.