Big news today! We're delighted to announce Meteor Galaxy, our cloud platform for operating and managing Meteor applications. It's been a long time in the making and today's release is just the first of many exciting developments to come. While there's a lot more work in front of us, we're excited to reach this milestone and share details about our first Galaxy release.
Our mission is to make modern app development radically easier. The investments we've made in Meteor technology, from the first prototype through Meteor 1.2, have all been in service of that goal. By pulling together many of the hard, complicated parts of building an app into an open source platform, we've helped Meteor developers focus on the parts of their app that matter most to them and get them built far faster.
But developing the app is just half the story. Running it scalably and securely in the cloud is just as important. The devops behind that – especially for a modern app that keeps an open WebSocket to each connected client – takes careful planning and work, especially because you can't easily use the tools and techniques designed for an earlier generation of stateless web servers. It's another obstacle to developers who don't have the necessary devops expertise, and yet another maintenance burden for those who do.
Galaxy, designed for these connected client apps, takes care of all the devops for you.
What's in the box?
Galaxy is a cloud service for managing Meteor applications. You deploy Meteor apps into Galaxy with the same
meteor deploy command you're already used to, and you get turn-the-dial scaling to run as many copies of the app as you need. As you'd expect, it also has the day-to-day basics you need, like application logs and SSL cert management.
For business-critical apps, Galaxy also supports running apps in a high availability configuration, so that they stay up even during major outages spanning multiple machines or infrastructure services. We've already had a chance to prove it in the field: all of our early access customer production apps stayed up during the recent AWS outage that affected many major websites.
Tracking connected clients
Galaxy is fundamentally about connected client management: keeping track of all the stateful clients connected to your server infrastructure. That's why you'll see connected client tracking front and center in Galaxy, starting with a chart of exactly how many devices are connected to your Meteor app, updated in real time. Alongside that we also provide system-level container metrics tracking the CPU and memory usage of each application container, giving you the information you need to update your app.
App updates are another area where client tracking is essential. Galaxy coordinates application version updates: when you deploy a new version of an app, Galaxy rotates each connected client from an old version to a new version so that users experience a single, smooth transition from the old to the new. Coordinated version updates are tricky to implement correctly, and absolutely essential in a scalable production Meteor app: without them, clients bounce randomly between servers or pile load on just a handful of your app's containers.
Built on containers
Galaxy is built on top of standard Docker containers, orchestrated on AWS EC2 instances. Every application in Galaxy runs in one on more of these containers. Galaxy monitors these containers, replaces them if they fail, and collects the key system performance metrics for each container.
Containers in Galaxy have a standard configuration: 1GB of RAM and 0.5 ECU – Amazon's standard measure of processing capacity. Each application runs in one or more of these containers. Galaxy's container metrics show you exactly how much of that capacity you're using, and of course you can spin containers up or down as often as you like, with no hard limits on the total number.
We are excited about many of the latest container technologies that make much of Galaxy possible. Look here later this week for lots more detail on how we use these inside Galaxy.
Our Galaxy plans
For the past few months, we've been working closely with companies that use Meteor in production, helping more than a dozen customers such as Classcraft, Codefights, and Workpop get their apps into production on Galaxy. They tell us they're able to go to market with new releases faster than ever. And thanks to them, we're now ready to bring Galaxy to the whole market.
Today we are announcing the first set of Galaxy plans, for development teams of different sizes, and apps with varying scale, RAM, and availability requirements. Galaxy is priced as a monthly subscription, starting at $495 per month. You can add additional capacity to your Galaxy in increments of 10GB RAM packs, with no limits on the total size of an app or your overall Galaxy environment.
What about a free option? We've always offered free hosting to every Meteor developer through our
meteor deploy feature. It's never going away. Now that we've had a chance to shake out key parts of Galaxy's technology stack with large production apps, we're ready to transition that free
meteor deploy service to Galaxy. We've already started on that work, so that every developer can use Galaxy free of charge for simple apps, or purchase smaller plans for projects that aren't a fit for a full commercial plan.
UPDATE: Watch the session on YouTube »