Closed Bug 997423 Opened 9 years ago Closed 8 years ago

Acquire heroku account for production deployment


(Taskcluster :: General, defect)

Not set


(Not tracked)



(Reporter: jonasfj, Assigned: doliver)



We discuss where to deploy taskcluster long term. Unless, IT is willing to devote a lot of resources to provisioning and maintaining a database and node.js servers I suggest we host on heroku.
Heroku lives inside EC2, so distance from workers to administrative parts will be relatively small.

Heroku is pricy when you start scaling, the the administrative parts of taskcluster doesn't need to scale much. We'll around 4 components of which 3 will scale and only 1 will need scaling beyond 2 nodes.
The main cost to us here will be deploying servers and updating them, again and again.

Once we have a heroku account we can also purchase addons through heroku.
Specifically, I know we want to use:
 * heroku postgres,
 * loggly, 
 * cloudamqp
Don't worry I'll try not to buy the biggest postgres database :)
(actually, we just need a small once, and resetting it will only reset running tasks)

I could also imagine us using pusher or pubnub at some point.
Assignee: nobody → taras.mozilla
Amongst other things, such as a hairy refactoring, this is also blocking a production deployment.
I would recommend that you fix this, so there is only me to blame when/if this isn't in production on time :)

Do you have any strong objections against heroku? I know heroku isn't perfect and adds little value.
But we're not going to scale central components aggressively. So development time and management cost are the primary expenses we have here, and heroku will reduce those.

We'll have approximately 6 apps running at 35 USD / month each, plus a database (50 or 200 USD / month) and SSL end-point (20 USD / month).
Maybe we'll go for a bigger database, who knows...
My point is, cost wise this is hardly worth optimizing, certainly not at this point.

The expensive things are add-ons, such as loggly, cloudamqp, etc. which would probably buy regardless of whether or not we use heroku for hosting our nodes.
But if we use heroku we'll have the convenience of being able to buy them using our heroku account.
Flags: needinfo?(taras.mozilla)
r+ for using heroku.
Flags: needinfo?(taras.mozilla)
Laura, do we already have a Mozilla heroku account?
Flags: needinfo?(laura)
MoFo has a heroku account

Using it for taskcluster sounds like a legal minefield.

I've contacted Heroku and inorder to get an organization account we have to commit to spending a certain amount per month for 12 months (more than 1k / month).
And from my understanding it would require some non-trivial contract negotiations.
If we end up spending 1k / month we should probably try to get an organization account, but I don't taskcluster will cost that much.

Hence, I suggest that we assign a corporate credit card to a normal heroku account, either mine or jlals and which are both created with an address. Then the apps and add-ons can be owned by that account and we can share apps with other accounts.
It's not perfect, but it'll get the job done.
Flags: needinfo?(laura)
Just a reminder
Assignee: taras.mozilla → doliver
Flags: needinfo?(doliver)
Flags: needinfo?(doliver)
Update: legal review granted in bug 814732.
The account has been created and access provided to James & Jonas.
Closed: 8 years ago
Resolution: --- → FIXED
Component: TaskCluster → General
Product: Testing → Taskcluster
Target Milestone: --- → mozilla41
Version: unspecified → Trunk
Resetting Version and Target Milestone that accidentally got changed...
Target Milestone: mozilla41 → ---
Version: Trunk → unspecified
You need to log in before you can comment on or make changes to this bug.