Byzantine Reality

Searching for Byzantine failures in the world around us

Not an Avengers World

The Avengers vs. X-Men crossover storyline from 2012 gets a lot of flak on the internet (perhaps rightly so) for being schizophrenic and other problems you’d expect from having so many writers on it. But two parts of it stood out as being awesome in my book (in no particular order): (1) Kieron Gillen’s AvX tie-in work in Uncanny X-Men (of course, his whole run there is amazing as well), and (2) Brian Bendis’ New Avengers #29 tie-in issue. Today I’m focusing on the latter and its evolution, and will return to the former hopefully soon.

This one issue of The New Avengers that is so good that I had to pick up every other Avengers and New Avengers issue in the AvX line to try to get more of it. But why? It’s because this issue takes a look at the clandestine group known as the Illuminati. Each member possesses an Infinity Gem, which Thanos tells us “with only one you become a god”. So as we know, with great power comes great responsibility, so the idea is that these are the only people in the world that can be trusted with ultimate power. The issue centers around the question of “if we have ultimate power, why not use it to stop the Phoenix from destroying the planet?” It’s full of nuance, as we can see that not everyone even agrees that the world will be destroyed, with Mr. Fantastic and Namor independently arguing that the Phoenix actually will make the world a better place. It’s a great, deep philosophical read, with some solid art from Mike Deodato.

So I tried to find something else like this in the AvX storyline and failed, but luckily, the team at Marvel apparently employs telepaths, so someone there said “what if we make a whole comic with this team and this kind of stuff?” And with that, I saw this tagline teased randomly throughout various Marvel comics:

To prevent the collision of our universe with another, the most powerful and brilliant team in the Marvel Universe – the Black Panther, Iron Man, Dr. Strange, Black Bolt, Mr. Fantastic, Namor and the Beast – must assemble to confront an infinite legion of parallel universes.

With that, I was instantly sold and had to check out Jonathan Hickman’s awesome (in progress) run on New Avengers. It’s the foil of Hickman’s also solid run (also in progress) on Avengers, and while we’ll also come back to that series at a later date, it’s sufficient now to say that Avengers embodies the best and brightest of what the Avengers have to offer ideologically, and this essay will focus on how the Illuminati embody their foil: what happens when the best and brightest do when they throw ideology out the window.

Cleaning Up in Google Compute Engine

Google Compute Engine provides an Infrastructure-as-a-Service offering similar to Amazon Web Services. We support it natively in AppScale, and one of the very nice perks with GCE is that you pay for instances on a per-minute basis (after a minimum of ten minutes), as opposed to AWS, which charges you on a per-hour basis. That means if you use ten minutes of machine time in GCE, you pay for ten minutes, but with AWS, you pay for a full hour.

So we do quite a bit of hacking on both GCE and AWS, which means we create a lot of extra resources that sometimes accidentally get left around. With that, I wrote a quick script to clean some of that stuff up in GCE – let’s take a look!

Static IPs in AppScale

One feature that’s been heavily requested in AppScale fairly recently is the ability to acquire a static IP address from your favorite cloud provider and have traffic go through it, instead of whatever IP address or fully-qualified domain name they give you. So for AppScale 1.13.0, we’ve added support for Elastic IPs in Amazon Web Services as well as Static IP support in Google Compute Engine! Let’s talk about how you can use it, and what we do behind the scenes to hook it all up for you.

AppScale 1.13.0 Sneak Peek

After every release, we immediately conclude with two meetings:

  • A Sprint Retrospective, in which we determine (1) what went well during the sprint, and should be repeated in the future, and (2) what did not go well in the sprint, to avoid it next time.
  • A Sprint Planning Meeting, to plan what features should be worked on to produce the next release.

AppScale 1.12.0 Released!

We’re happy to announce the release of AppScale 1.12.0! After three weeks of development and one week of QA, we’re happy to have fixed the following bugs and added the following major features:

  • Now using monit instead of god to monitor processes, and killing App Engine apps that take up too much memory
  • Load is rebalanced after scaling events
  • Upgraded Cassandra to 2.0.1
  • Upgraded pycassa to 1.9.1

Here’s a quick YouTube video that also summarizes this up:

AppScale on Docker

AppScale has strived to be the platform that runs on any infrastructure, and historically, we’ve done a pretty good job there. We started off on Xen virtual machines (avoiding bare metal so that all the stuff we install doesn’t conflict with the stuff you rely on) way back in 2008, and added support for Amazon EC2 shortly after. We expanded onto Eucalyptus private clouds, KVM virtual machines, and (quite recently) Google Compute Engine! Since all you really need to run AppScale is a Ubuntu Precise VM, in theory it can run anywhere those can be run (like OpenStack and CloudStack) and even places we didn’t anticipate it to run. For example, I develop on my MacBook Air, so I run VirtualBox/vagrant and develop on that, which works great! But wait! There’s something new and cool that everyone on the internet is talking about called Docker! So the questions are: what is Docker, and can AppScale run on it? spoiler alert: yes!