You’re a polyglot. Shouldn’t your PaaS be polyglot too?
Fact: web development requires you—nay, demands you—to be a polyglot programmer, steeped in a variety of languages and platforms. There’s simply no escaping it nowadays.
The web dev world is simply polyglot through and through. It’s becoming hard to even imagine what monoglot development would look like and what it would be good for. But much of the PaaS world doesn’t seem to have really taken notice. It is strewn with platforms that only serve specific frameworks or just a small handful of them.
But AppFog has taken notice. We know as well as anyone that most developers are polyglots. That’s why we’ve built everything with the following scenario in mind:
Let’s say that you’re a developer with a node.js app, a Rails app, and a Python/Flask app deployed on AppFog. You put in a hard session of work on all three apps on a Sunday afternoon and need to do some serious updating.
If you’re using Appfog’s command-line tool (which we highly recommend!), that means going to the respective directories of each of those apps, running
af update <app name> in all three, and that’s it. You manage all three in the same, straightforward UI on our site you can even stop and start your app and increase/decrease instances on your iPhone, should you choose to celebrate your hard work updating with a night out on the town).
AppFog’s polyglot platform is also helpful if you choose to expand your capabilities palette. Let’s say that you’re hearing good things about Sinatra and you want to put together an app as an experiment. Go to your app’s directory, issue a few basic commands, and there it is. You want to dabble a little bit in Java and see what it looks like in the browser? Do it. You want to test an already-built application with PostgreSQL instead of MySQL and see how well it deploys? Done.
No one is keen on the prospect of managing a variety of app types on a variety of platforms. No one wants to have their node app on nodester or NodeJitsu while their Rails app is deployed on EngineYard and their Java app is on CloudBees (and this holds regardless of what the merits or demerits of those PaaS platforms happen to be).
Doing things the old way means dealing with multiple support staffs that have zero contact with one another, wholly unrelated pricing systems, and wholly unrelated methods of deployment and updating (not to mention an unwieldy slew of SSH keys, passwords, billing statements…).
A few months ago, we talked about the ability of PaaS platforms like AppFog to tear down the barrier separating coding and development, on one side, and deployment, scaling, and DevOps on the other. For polyglots—that is, most of us—monoglot platforms produce yet another unnecessary barrier, and thus a whole series of complications and headaches.
What really sets AppFog apart is that it was never intended as a monoglot platform. We built it from the ground up as a polyglot enabler—by polyglots, for polyglots. We always wanted to have our own apps and projects deployed under a single umbrella and simply thought that it was time for that to be the norm.
AppFog’s imperative is simple: we’re building something that enables you to have all of you apps under the same umbrella. That means one support staff, one user interface, one set of CLI commands to master, one iPhone app to monitor and manage.