6 ms·
I would love to read stories about the old tech stack of Amazon. It would be very fascinating to read. I only read little bits about them, e.g. Obidos and Guru
by didip 5y ago
I would love to read stories about the old tech stack of Amazon. It would be very fascinating to read.
I only read little bits about them, e.g. Obidos and Gurupa.
I also heard that content authoring used Emacs back in the day, was that true?
Link: https://www.quora.com/How-did-Google-Amazon-and-the-like-initially-develop-and-code-their-websites-databases-etc https://www.quora.com/How-did-Google-Amazon-and-the-like-ini...
- PaulDavisThe1st 5y agoThe original (1996 era) tech stack at Amazon wasn't related to anything anyone would use today. When we built the site, there was no such thing as a webstack. PHP did exist, but neither Shel nor myself were familiar enough with it to even consider it as a candidate. We were building an entire system from scratch, with zero off-the-shelf components other than: * Berkeley DB (the original bibliographic database) * Oracle (the original customer database) * Netscape (the original web server) Even the first two were not really used as-is; Shel convinced Margo to add some mmap-related extensions to bdb to suit what we were doing, and rather than using any Oracle technology in a visible way, I wrote an entire wrapper for their APIs that looked like sscanf(). We were not just writing a website, but the entire ordering system, from the web front end all the way to the back-office/warehouse stuff, as well as financial management, customer support and content management. There were no tools for any of this stuff; when we looked at existing online sales software, it always assumed that the company would have things on the shelves, which was more or less the opposite of Amazon's early corporate strategy, and was such a deep assumption (e.g. if it is not in stock and we don't know when it is arriving, the user is actively dissuaded from buying it) that we could not just buy this sort of thing. Because Shel and I were both Unix heads (neither of us had ever used Windows), and also both Emacs users, we encouraged the use of a Unix-y ecosystem in the early days. We had no interest in providing support in-house to Windows users, so a lot of the very early back-office infrastructure included various Unix-centric tools, including Emacs. Similarly, the very early versions of invoice/shipping label printing used LaTeX, but I moved away from that even before I left in Feb 1996. I find that most (notably) younger web developers have a very difficult time understanding why we would have done things the way we did back then, because they essentially cannot conceive of a world more or less completely without any of the tools they are used to thinking of. For most of the initial development, for example, we were not even willing to use cookies (or at least rely on them). The stuff we created was fast (extremely fast) but not scalable (because none of us anticipated the scalability requirements that would be faced within such a short time). Almost certainly faster on a per-request level than anything on the site today, but also massively simpler and completely unable to be distributed.