Live data from Hacker News

Medium's Technology Stack

medium.com

21–30 of 42 posts

Re: Medium's Technology Stack

#21
post #17
post #16

In past lives I’ve raced snowboards, jumped out of planes, and lived in the jungle I'm so glad the author added that line, signalling his credibility. I'm even more impressed by Medium's stack when I know the guy responsible for it skydives. The coolness of this dude is overwhelming me now.

While I don't particularly like your tone, I found the inclusion of that entire paragraph surprising. The paragraph immediately before it states: > Where the quality of the idea matters, not the author’s qualifications. It is then followed by the paragraph you talk about, specifically meant to showcase the authors's qualifications.

I don't want to be completely defined by my work, but at the same time didn't want to be overly verbose talking about myself.

Also, the original interview had this section as multiple questions; it was collapsed into a single paragraph during editing.

Re: Medium's Technology Stack

#22
post #4

2.6 Millennia of "reading time". I just love these made-up PR metrics that can make any audience look big or any business seem successful. Really, if you write a post about infrastructure you shouldn't have a metric that say absolutely nothing about your site's load. 25 millions unique readers per month is more fitting, but still quite lacking (too big a timeframe and no way to infer how many pageviews there are).

The point is that we don't really care about the number of uniques or page views. What we actually look at internally on a day to day basis is the amount of time people spend reading and other engagement metrics.

Re: Medium's Technology Stack

#23

> We like the type-safety without the verbosity and JVM tuning of Java. I've never worked on large-scale services, but I'm a fan of articles and talks on scaling. Is there any reason why I often read about JVM tuning, but never come across V8 tuning, or Go runtime tuning or CPython tuning?

This was mostly a hat tip to a scarred past. This is a post about Go's GC tuning philosophy: https://blog.golang.org/go15gc

Re: Medium's Technology Stack

#24

> The Stack That Helped Medium Drive 2.6 Millennia of Reading Time > For a site as seemingly simple as Medium, it may be surprising how much complexity is behind the scenes. It’s just a blog, right? You could probably knock something out using Rails in a couple of days. :) > In past lives I’ve raced snowboards, jumped out of planes, and lived in the jungle. Looking past the annoying, "look how cool we are" tone, I do…

As I said above, this was from a bio question that got elided during editing. I didn't want to be completely defined by my work, but at the same time didn't want to be overly verbose talking about myself.

Glad you took something from the post though.

Re: Medium's Technology Stack

#25
post #15

On this topic, I would like to get a book's recommendation on how to build a full stack product like this. Something more technical with war stories. My background: I'm a very strong iOS engineer with decent Python and JS skill. However my backend skill is limited at: building a Flask app with custom end points. It will talk to a single sql instance. I'm completely oblivious to memcache, load balancer, different AWS…

You might get some more full-stack web understanding out of this talk: https://www.youtube.com/watch?v=8uxQOzKi3_0

It explains some of the steps between "web app and database" and a crazy interconnected diagram of various acronyms.

Re: Medium's Technology Stack

#26

There're a lot of sour grapes in this thread about performance and made up metrics, but let's take them at their word: For a site as seemingly simple as Medium, it may be surprising how much complexity is behind the scenes. It’s just a blog, right? You could probably knock something out using Rails in a couple of days. :) This hints that there is a lot more functionality being put up behind the scenes in terms of dat…

Sorry it came across as "sour grapes", the spec for the post is describe the components of your stack, why you use them, and challenges you've faced.

In terms of "display an article" I'd encourage you to think about what that entails for a platform like ours, it's actually a pretty interesting problem space: near-WYSIWYG editing across 3 platforms, post model vs. HTML (hint we don't store HTML), operational transforms, version history, typographic treatments, copy/paste normalization, ingestion API, etc. It's not rocket science, but it's deeper than you might think at first blush.

Re: Medium's Technology Stack

#27
I realize they called this out in the article as "snark", but it really is just a blog engine, and its monthly web traffic is a small fraction of what wordpress.com gets (which is being served on one of the most craptacular platforms that exists).

They in fact could have solved this problem with Rails or even a more full-fledged CMS like BrowserCMS.

Re: Medium's Technology Stack

#28
post #26

There're a lot of sour grapes in this thread about performance and made up metrics, but let's take them at their word: For a site as seemingly simple as Medium, it may be surprising how much complexity is behind the scenes. It’s just a blog, right? You could probably knock something out using Rails in a couple of days. :) This hints that there is a lot more functionality being put up behind the scenes in terms of dat…

Sorry it came across as "sour grapes", the spec for the post is describe the components of your stack, why you use them, and challenges you've faced. In terms of "display an article" I'd encourage you to think about what that entails for a platform like ours, it's actually a pretty interesting problem space: near-WYSIWYG editing across 3 platforms, post model vs. HTML (hint we don't store HTML), operational transform…

"Sour grapes" was in response to sibling comments here, not the original article!

The additional stuff you mentioned here--all of the annoying fiddly details for editing and whatnot--is exactly what should've been used to justify the stack.

The problem is that all of the extra stack baggage frankly looks really baroque, even with the trickiness of the UX you just hinted at.

Re: Medium's Technology Stack

#29
post #15

On this topic, I would like to get a book's recommendation on how to build a full stack product like this. Something more technical with war stories. My background: I'm a very strong iOS engineer with decent Python and JS skill. However my backend skill is limited at: building a Flask app with custom end points. It will talk to a single sql instance. I'm completely oblivious to memcache, load balancer, different AWS…

"A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system." -- John Gall, 1975

If you are building a new service, and doubly so if you are new to web application, you want to build your system with a minimal set of moving pieces. Nginx as a webserver, Flask or Django for you application, and MySQL or Postgres for your database will get you very, very far, and likely remain the be the core of your stack.

Again, you can go very vary with a simple stack. Heck, I've served a very dynamic website to front page of Wired traffic off of single small physical server, PHP/MySQL with no caching. (Caching is great though!)

Avoid as the plague, Docker, unless you know why you needed it. Docker adds complexity, and unless your setup is large enough to benefit more than then costs, then your life has gotten worse and not better. And you've wasted a lot of time. Repeatable server build setups are great though - Ansible or even a good shell script.

Application/Server monitoring is a good thing. Datadog and NewRelic are good choices here.

Although you will one day hit a wall, scaling to bigger hardware is tremendously easier, (and probably cheaper) than building a big distributed system. Don't underestimate just how much more powerful a full, real, physical server can be than a $20/month cloud server.

When you do need to scale out, listen to your application and scale out just what you need too.

Re: Medium's Technology Stack

#30
post #26

Earlier quoted context omitted.

Sorry it came across as "sour grapes", the spec for the post is describe the components of your stack, why you use them, and challenges you've faced. In terms of "display an article" I'd encourage you to think about what that entails for a platform like ours, it's actually a pretty interesting problem space: near-WYSIWYG editing across 3 platforms, post model vs. HTML (hint we don't store HTML), operational transform…

"Sour grapes" was in response to sibling comments here, not the original article! The additional stuff you mentioned here--all of the annoying fiddly details for editing and whatnot--is exactly what should've been used to justify the stack. The problem is that all of the extra stack baggage frankly looks really baroque, even with the trickiness of the UX you just hinted at.

Thanks for clarifying and yes, lots of interesting stories to be told around the edges of this post. Some are already written and linked. For example, I'd recommend Why ContentEditable is Terrible by Nick. https://medium.com/medium-eng/why-contenteditable-is-terribl...
Post reply on HN