Closed
Bug 1300082
Opened 8 years ago
Closed 7 years ago
Followups to the Memcachier stunnel solution
Categories
(Tree Management :: Treeherder: Infrastructure, defect, P3)
Tree Management
Treeherder: Infrastructure
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: emorley, Assigned: emorley)
References
Details
I'm not overly happy with the outcome of bug 1291307 - that was just the best of all of the suboptimal alternatives.
Once we're on Heroku, some options to consider:
* Fixing some of the deficiencies in memcachier-tls-buildpack, such as:
- https://github.com/memcachier/memcachier-tls-buildpack/issues/11
- https://github.com/memcachier/memcachier-tls-buildpack/issues/12
* Switching from memcached to Redis, since:
- it's generally considered less of a legacy technology
- Heroku has a native Redis addon
- Heroku provides (and maintains) an stunnel buildpack for Redis of their own (https://github.com/heroku/heroku-buildpack-redis) that's actually written properly
- some Redis clients even have native TLS support
* Revisiting the viability of adding TLS support to eg python-binary-memcached (bmemcached) given that the custom Memcachier server implementation negates the consistent hashing concern in bug 1291307 comment 1. Though this still means switching from a C-backed client to a pure Python one (with perf impact; though opens us to using gevent).
Assignee | ||
Comment 1•8 years ago
|
||
> * Switching from memcached to Redis, since:
Comparison between Redis providers/thoughts to consider at:
https://redislabs.com/redis-comparison
https://redislabs.com/blog/six-things-to-consider-when-using-redis-on-heroku
The two best options appear to be (both support SSL):
https://elements.heroku.com/addons/heroku-redis
https://elements.heroku.com/addons/rediscloud
Assignee | ||
Comment 2•8 years ago
|
||
Whilst it's not clear whether we will/won't want to switch to Redis yet, I've done some initial research to at least get the ball rolling on some issues/tickets.
Redis Cloud TLS is a paid-for addon, that requires contacting support, so I've not been able to test it.
I've been able to test Heroku Redis' TLS (since it comes for free with any prod plans). It currently uses self-signed certs, REDIS_URL could be improved, and the docs were missing some details, so I've filed:
https://help.heroku.com/tickets/396267
https://help.heroku.com/tickets/396276
https://help.heroku.com/tickets/396297
https://github.com/heroku/heroku-buildpack-redis/issues/15
https://github.com/heroku/heroku-buildpack-redis/issues/16
redis-py (the recommended Python redis-client) has no TLS docs, so I've filed:
https://github.com/andymccurdy/redis-py/issues/780
It's also not clear which is better out of the two Django backends that make use of redis-py, so I've asked them to add comparisons:
https://github.com/niwinz/django-redis/issues/217
https://github.com/sebleier/django-redis-cache/issues/121
Assignee | ||
Comment 3•7 years ago
|
||
(In reply to Ed Morley [:emorley] from comment #0)
> * Fixing some of the deficiencies in memcachier-tls-buildpack, such as:
I've dug into this option a bit, since one of the ways to fix bug 1381151 was to just turn memcachier-tls-buildpack into a fork of heroku-buildpack-redis (which already does have Heroku-16 support). See:
https://github.com/memcachier/memcachier-tls-buildpack/issues/11#issuecomment-315471002
This looks promising, though there are a few upstream issues I'd like to see fixed before I start forking heroku-buildpack-redis into memcachier-tls-buildpack, for which I've opened PRs / investigated:
https://github.com/heroku/heroku-buildpack-redis/pull/21
https://github.com/heroku/heroku-buildpack-redis/pull/22
https://github.com/heroku/heroku-buildpack-redis/pull/23
https://github.com/heroku/heroku-buildpack-redis/issues/13
Assignee: nobody → emorley
Assignee | ||
Updated•7 years ago
|
Component: Treeherder → Treeherder: Infrastructure
Assignee | ||
Comment 4•7 years ago
|
||
Wontfix since we're switching to Redis in bug 1384518.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•