5 ms·
If anyone is interested in the tech stack, it's based on Django under uWSGI, and all of the services run within Docker containers. Pillow wasn't fast enough for
by tomkinstinch 12y ago
If anyone is interested in the tech stack, it's based on Django under uWSGI, and all of the services run within Docker containers. Pillow wasn't fast enough for us to resize and crop images, so we have some faster custom code there, and we run all images through jpegtran for lossless compression. [I particularly like being able to crop all of the images within a guide on one page, with an easy scroll between images.] Guide images are pushed to S3 by Celery, and we're using MySQL as the database (though we will likely move to PostgreSQL in the future). Logging is centralized by sending log messages to rsyslog on each container via named pipes rather than log files (primarily so we can use the community version of nginx). The container rsyslog instances then redirect to a central rsyslog container and finally to loggly. We use memcached.
We do dev on VMs, but the actual app runs on high-memory machines we picked up from eBay that according to Dell phone support are second-hand Facebook memcached boxes.
- nickstinemates 12y agoHow cool :) Love hearing about sites running Docker in production. Please get in touch: nick@docker.com. We're always looking for people doing awesome stuff.
- dalore 12y agoFor images, we used to do it ourselves but then moved to hosted images (cloudinary). Much better, and allows stateless web servers.
- coldpie 12y agoThe guide pages (e.g. [1]) are continually reloading for me. Maybe it's refreshing once per image load, or something, but I don't have the patience to wait. It did not reload continuously until I allowed JS on the page, which I did because JS is required to load images. Something seems broken. Firefox 29.0.1 on Linux. [1] https://www.takeitapart.com/guide/72 https://www.takeitapart.com/guide/72
- tomkinstinch 12y agoThanks for the report. It should definitely not be reloading continually, but only on window resize to rescale the photo containers. We'll look into it. I've disabled the functionality for anonymous users for now. It remains a profile option for authenticated users. Images are lazily loaded, but that should be triggering a rescale. We are working to rethink the rescale functionality, so fixes and changes are coming (after this weekend's Maker Faire).