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.

Galaxy architecture

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.

End-to-end support

Earlier this summer we introduced the Meteor developer subscription as a way to advise teams on architectural best practices, and answer questions on topics such as security, testing and performance. With Galaxy, we can now go further and offer complete end-to-end support covering the entire lifecycle of designing, developing, and operating a Meteor app. No matter the question or the problem, you get one trusted vendor you can call for help. This is the advantage of building an app on a complete JavaScript application platform, and you won’t find it from anyone else in the industry. And with our growing network of professional service partners and training programs, we’ve put in place everything you need to succeed with Meteor.

What’s next

Stay tuned — there’s a lot more to come. If you happen to be attending AWS re:Invent, I’ll be speaking there on Friday about how we built Galaxy. I’d love to meet with you and chat.

UPDATE: Watch the session on YouTube »

And if you’re ready to deploy your Meteor app to Galaxy, then just choose a plan and we’ll set you up quickly. We’re excited to help you get on board. Or if you’re new to Meteor, today is a great day to install the SDK and get started building great apps in JavaScript.