Skip to content

Add initial AWS blog post #364

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ examples/
*.woff2
*.ttf
*.svg
src/website.egg-info/
33 changes: 30 additions & 3 deletions content/pages/homepage.html
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,34 @@ <h3 class="ui large monospace header">
<div class="ui stackable equal width grid">
<div class="stretched row">
<div class="column">
<div class="ui very padded raised large segment">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Max Hilbrunner",
title="Software and Game Developer",
company="Godot Engine",
image="https://avatars.githubusercontent.com/u/1654763?v=4",
link="https://docs.godotengine.org/") %}
Read the Docs plays a large part in enabling a small volunteer team to maintain our docs. Without the generous Community plan, we couldn't have afforded anything close to the CI/build resources that we got with Read the Docs.
{% endcall %}
</div>
</div>
<div class="column">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Matt Fisher",
title="Scientific Software Developer",
company="UC Berkeley Eric and Wendy Schmidt Center for Data Science and Environment",
image="https://github.com/mfisher87.png",
link="https://jupytergis.readthedocs.io/") %}
Read the Docs is a critical component of the open source software ecosystem. And their PR builds are the best and most trustworthy implementation out there.
{% endcall %}
</div>
</div>
</div>
{#
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This just swaps the testimonials for now to get them up, but we'll need to futz with it more if we want more than 2.

<div class="stretched row">
<div class="column">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Trevor James Smith",
title="Developer",
Expand All @@ -187,9 +214,8 @@ <h3 class="ui large monospace header">
{% endcall %}
</div>
</div>

<div class="column">
<div class="ui very padded raised large segment">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Juan Luis Cano Rodríguez",
title="Developer Advocate",
Expand All @@ -201,6 +227,7 @@ <h3 class="ui large monospace header">
</div>
</div>
</div>
#}
</div>
</div>
</section>
Expand Down
29 changes: 15 additions & 14 deletions content/partials/marketing.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,25 @@
#}
{% macro testimonial(name, title, image, company, link=None) %}
<i class="fad fa-quotes big icon"></i>
<blockquote class="ui big text">
<blockquote class="ui large basic segment">
{{ caller() }}
</blockquote>

<div class="ui small header">
{% if link %}
<a href="{{ link }}" target="_blank" rel="noopener">
{% endif %}
<img src="{{ image }}" class="ui avatar image" alt="{{ name }}, {{ title }}, {{ company }}" />
<div class="content">
{{ name }}
<div class="sub header">
{{ title }}, <i>{{ company }}</i>
<div class="ui unstackable items">
<a class="item" {% if link %}href="{{ link }}"{% endif %} target="_blank" rel="noopener">
<div class="ui avatar tiny image">
<img class="ui image" src="{{ image }}" alt="{{ name }}, {{ title }}, {{ company }}" />
</div>
</div>
{% if link %}
</a>
{% endif %}
<div class="content">
<div class="header">{{ name }}</div>
<div class="meta">
{{ title }}
</div>
<div class="extra">
{{ company }}
</div>
</div>
</a>
</div>
{% endmacro %}

Expand Down
114 changes: 114 additions & 0 deletions content/posts/aws-powers-read-the-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
title: Thanks to AWS for supporting Read the Docs for many years
date: 2025-07-28
category: Meta
tags: sponsors, aws, thanks
authors: Eric Holscher
status: published
image:
image_credit:

Read the Docs has been building and hosting documentation for open source projects since 2010.
We’re proud to be a part of the open source ecosystem,
and today we wanted to take a moment to thank one of our biggest supporters: **Amazon Web Services**.

We have been a member of the [AWS Open Source Credits](https://aws.amazon.com/blogs/opensource/aws-promotional-credits-open-source-projects/) program since 2021.
In that time,
they have provided us with **almost $500,000 in credits**,
which covers all of our server-related costs each year for the Community platform.

This post will cover a bit more about how we use AWS,
the infrastructure we run on it,
and how it helps us support the open source projects that rely on Read the Docs.

## Our scale

In the past 30 days, our Community hosting platform has:

* Supported over **100,000 open source projects** with documentation hosting
* Run over **350,000 documentation builds**
* Handled over **250M documentation pageviews**
* Served over **2.2 billion web requests**
* Transferred over **45TB of data**

Since our creation in 2010,
we have been a cornerstone of the Python open source ecosystem,
and now host documentation for many other languages and frameworks as well.

## Our infrastructure

Read the Docs has a pretty simple architecture,
because we have a small team of 5 people running a very large web service.
The major AWS services that we rely on are:

* **EC2**: We run our web servers, web workers, and build servers on EC2 autoscaling groups.
This allows us to scale up and down as needed, leading to builders always being available when projects need them.
* **S3**: We store all of our documentation artifacts in S3.
This includes the HTML files, PDFs, and other outputs generated by our build system.
* **RDS**: Our primary and replica Postgres databases are hosted on RDS.
This allows us to scale our database easily, and we rarely have to think about it.

We use a number of other AWS services as well, including Cloudwatch for monitoring, Route 53 for DNS, and many more.

## A few of the projects we host

{% import "partials/marketing.html" as marketing %}

Here are just a few of the big projects whose docs we build and host:

- [**Godot Engine**](https://docs.godotengine.org/) – the open source 2D/3D game engine behind thousands of indie titles and student projects.
- [**Jupyter**](https://docs.jupyter.org/en/latest/) – the open source project that powers Jupyter Notebooks, used by millions of data scientists and educators worldwide.
- [**Flask**](https://flask.palletsprojects.com/) – the Python web framework powering everything from hobby APIs to production workloads at scale.
- [**Python Developers Guide**](https://devguide.python.org/) - the official guide for developing Python itself, maintained by the core developers.
- Tens of thousands of other open-source libraries. Browse the documentation of the libraries, software, and services you use and it won't take long to find a project whose docs we host.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Tens of thousands of other open-source libraries. Browse the documentation of the libraries, software, and services you use and it won't take long to find a project whose docs we host.
- Tens of thousands of other open source libraries. Browse the documentation of the libraries, software, and services you use and it won't take long to find a project whose docs we host.


<div class="ui very padded container">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Max Hilbrunner",
title="Software and Game Developer",
company="Godot Engine",
image="https://avatars.githubusercontent.com/u/1654763?v=4",
link="https://docs.godotengine.org/") %}
Read the Docs plays a large part in enabling a small volunteer team to maintain our docs. Without the generous Community plan, we couldn't have afforded anything close to the CI/build resources that we got with Read the Docs.
{% endcall %}
</div>
</div>

## Features that make Read the Docs unique
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section feels off topic for a blog post about AWS. I get we probably should have some content describing us if AWS is linking to this post, but I think that content should target users that have no idea what RTD is. So, something more like a CTA to learn more, and pointing to a page with a more basic description of RTD would probably be best.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aye... definitely a good point. I wanted to highlight the quote and built the paragraph around it, but I think we can use the quote in a similar fashion talking about how S3 has enabled us to build PR builds perhaps.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a great idea, that should fit really well.


There are many places to host your documentation,
but Read the Docs is unique in a few key ways:

* **Free for open source**: We provide free hosting for any open source project, with generous limits on builds and storage.
* **Versioning**: Easily version your documentation with tags and branches, giving users access to the exact version of the docs they need.
* **Pull request builds**: We automatically build pull requests, so you can see how your project changes over time.
* **Visual diff**: See a diff of the rendered documentation when doing reviews, allowing you to easily see what changed in the docs.
* **Offline formats**: We provide a way to download your documentation as a PDF or ePub, so you can read it offline.

<div class="ui very padded container">
<div class="ui very padded raised segment">
{% call marketing.testimonial(
name="Matt Fisher",
title="Scientific Software Developer",
company="UC Berkeley Eric and Wendy Schmidt Center for Data Science and Environment",
image="https://github.com/mfisher87.png",
link="https://jupytergis.readthedocs.io/") %}
Read the Docs is a critical component of the open source software ecosystem. And their PR builds are the best and most trustworthy implementation out there.
{% endcall %}
</div>
</div>

## Thanks to AWS for supporting open source

Keeping all this documentation online, building every commit, storing every artifact, and serving content to the entire world—costs a *lot* of money.
We have been given almost $500,000 in credits from AWS since 2021,
which covers the lion’s share of our Community infrastructure bill each year.

These credits are important for us in a few major ways:

* They support open source by allowing us to give generous free tiers to any open source project, because we don’t have to worry about the costs of hosting.
* They support our team, because it lets us focus on building features that matter to our users instead of worrying about trying to cobble together funding for our infrastructure.
* They provide a better user experience, because we can use autoscaling builders, instead of a fixed pool of donated builders.

Without partners like AWS,
our Community site wouldn't be the reliable home for documentation that it is today.