MozillaFoundation / mofo-devops

Mozilla Foundation DevOps Plans, Issues, Discussions
12 stars 5 forks source link

Create prod app for Bramble in parallel to prod Thimble #66

Closed humphd closed 9 years ago

humphd commented 9 years ago

We want to do our switch from Thimble to Bramble in a staged way. This means shipping two apps to prod, and managing the default app users get via URL. At first (old) Thimble will be the default, with a link that lets people get to the (new) Bramble (it will also have a link to get back to the old). Google does this kind of thing a lot, with a long opt-in period for trying out a new version of an app before retiring the old.

I think what's involved here is the following (you'll have better understanding of the actual work involved, so let me know what I'm missing):

In an ideal world we'd do this to fit within our current heartbeat, which ends next Friday, May 22. I've got a bug in Thimble on this at https://github.com/mozilla/thimble.webmaker.org/issues/505

cc @sedge

sedge commented 9 years ago

@jbuck Choosing where the apps live touches on id.webmaker.org integration as well, since we'll need client ids/secrets for both apps.

jbuck commented 9 years ago

@humphd will old and new be sharing a database?

humphd commented 9 years ago

RE: sharing a db, I'm not sure what to say. We're going to be evolving the whole publish flow to support multiple files, so might be best to separate them so we don't have a hard time with that. @sedge?

JordanTheriault commented 9 years ago

Name alternative thoughts: "thimble-evolved" "thimble-now"

As far as database, it may be necessary to migrate data from the old to the new once we shut down classic which could be a neg for separation. The question could be, can multi-file be added to the database structure which is more likely.

sedge commented 9 years ago

If we separate the DBs then we lose the majority of the opt-in's appeal, since I suspect users will want access to their previous makes.

I think we'll have to co-ordinate the multi-file back-end publishing with the way thimble handles projects so that projects with a single-file stay that way until old thimble is deprecated.

sedge commented 9 years ago

As a followup to @JordanTheriault 's point, the database will have to be migrated into a multi-file paradigm, but we'll have to distinguish between multi-file projects and single-file ones so each version of thimble operates correctly.

Once multi-file is enabled, backwards compatibility is pointless. Having said that, I'm worried that we'll miss out on valuable user testing if we don't allow forwards-compatibility. @humphd What do you think?

humphd commented 9 years ago

I'd keep this as simple as possible: we're only doing multiple apps so we don't break people as we harden the new stuff. If people don't have the same data in both apps, I'm not sure that's a huge deal, but migrations and conflicting schemas will be.

humphd commented 9 years ago

In other words, multiple apps is about access to a working version of Thimble for everyone vs data sharing between the apps.

jbuck commented 9 years ago

Requested a new SSL cert with "thimble-beta" and "thimble-classic" subdomains: https://bugzilla.mozilla.org/show_bug.cgi?id=1165452

jbuck commented 9 years ago

This is now live at https://thimble-beta.webmaker.org (might take up to 30 minutes to propagate)

humphd commented 9 years ago

Thanks, Jon.

sedge commented 9 years ago

+1