Would managed object storage and transactional email make sense in Galaxy?

I’ve been wondering whether this could make sense as an extension of Galaxy.

I know Galaxy has been moving more of its infrastructure to bare metal with Galaxy Metal, and I completely understand that object storage and transactional email are very different businesses from operating application containers or databases

So I’m not suggesting that Meteor should necessarily build and operate its own S3 or email infrastructure.

What I’m wondering is whether it would make sense to expose those services through Galaxy, even if AWS or another provider remains behind the scenes.

For example:

  • Create an object storage bucket from Galaxy
  • Choose the region
  • Have credentials automatically injected into the application
  • See storage/bandwidth usage and billing directly in Galaxy

And similarly for transactional email:

  • Configure a sending domain from Galaxy
  • Get the required DNS records
  • Have the SMTP credentials/configuration automatically available to the Meteor app
  • See basic usage, delivery information and billing from the same place

The actual storage could still be S3, and the actual email delivery could still be SES or another specialized provider.

The value, at least for me, would simply be not having to manage all of those services separately :sweat_smile:

I would actually be willing to pay slightly more for object storage or transactional email through Galaxy than I would pay by going directly to AWS, simply for the convenience of having:

app + database + storage + email + billing + configuration

in one place.

AWS is extremely powerful, but for relatively standard Meteor applications, having to navigate IAM, credentials, policies, buckets, SES configuration, billing, regions, etc. can quickly turn into “unnecessary” infrastructure plumbing

SES is a good illustration: a new account starts in the sandbox and needs production access before it can send email to arbitrary recipients. That’s quite a bit of infrastructure setup when all your application really wants to do is send things like password resets and notifications :man_shrugging:

Interestingly, you can already see this gap in Galaxy’s own documentation.

Galaxy’s Meteor configuration examples include things like:

"MAIL_URL": "smtp://user:password@smtp.example.com:587"

In other words, Galaxy already gives us the place to configure the mail service — we just have to go somewhere else to obtain it

And the email side seems particularly interesting because Meteor already has the abstraction at the framework level: meteor/email uses MAIL_URL

A Galaxy-provisioned SMTP service could therefore potentially work with existing Meteor applications without requiring changes to their mail-sending code :+1:

For object storage, the equivalent could simply be exposing an S3-compatible endpoint and injecting the endpoint and credentials into the application, using the same general configuration pattern Galaxy already uses for external services and databases.

Of course, actually operating object storage yourselves would involve replication, capacity planning, egress economics, support, etc., and operating transactional email yourselves is an entirely different challenge involving sender reputation, SPF/DKIM/DMARC, bounces, suppression lists and abuse management…

That’s why I’m mostly thinking about Galaxy as the control plane, rather than Meteor necessarily owning the underlying infrastructure.

So a few questions:

  1. Is this something that has ever been considered?
  2. If it were to happen, would you imagine these as Galaxy-managed services backed by another provider, or services Galaxy would eventually want to operate itself?
  3. If the answer is “not on the roadmap”, would a documentation page be worth considering in the meantime? There’s currently very little official guidance on wiring object storage or an email provider to an application running on Galaxy, and I’d be happy to help draft it as always

And for other Galaxy users: would you pay a small premium for object storage and/or transactional email if the tradeoff was having everything provisioned, configured and billed from Galaxy?

I know I would :smile:

@dupontbertrand

I don’t know about Galaxy.

But Meteor 3 WeKan has Admin Panel / Attachments, where is moving attachments to different storage, like Filesystem, S3 compatible, etc.

https://wekan.fi

The fact is that, for all my different projects, I always end up needing to set up email and file storage, even if it’s just for user avatars or things like that

And contractually, my clients usually ask me for quite a lot of detail about where everything is hosted and how the different services are handled :grimacing:

For me, it would honestly be forty times simpler to just be able to say: “OK, everything is in the same place, everything is hosted in France for my French clients, with the same provider, which itself relies on (I assume) OVH in Roubaix.” And that’s it :man_shrugging:

That alone would already be great because that was actually a blocker (for me) for a long time because Galaxy didn’t have hosting in France, and clients here are very, very protective of where their data is hosted (and rightly so :smile: )

It’s better as a package IMO - then the only thing you need to do is register for your desired provider and pop in an API key.

It’s not likely that Galaxy can keep up against companies that specialize in these things, and then getting stuck with it and migrating is not worth it. And you’d have to pay a premium for it.

As I was saying, the idea isn’t necessarily for them to host the files themselves, but rather to offer something similar to what they used to do with servers: they bill us directly, while the actual infrastructure behind the scenes can be hosted on AWS or elsewhere, as long as it’s hosted in the same region as the rest of the server infrastructure :+1: I don’t really see what a package has to do with this, there are already some that work relatively well. The idea was more to discuss developer experience and the convenience of being able to host an application end-to-end :blush:

If it would simplify SOC 2 compliance, I would be all for it.

1 Like