How Fastly's CDN Service Works
Fastly is a content delivery network (CDN). We serve as an Internet intermediary and offer the Fastly CDN Service to make our customers' transmission of their content to their end users more efficient.
Our customers make content available through their websites and their Internet-accessible (hosted) application programming interfaces (APIs). A customer can create content (customer-generated content), as can a customer's end users (user-generated content). Fastly's CDN Service then makes the transmission of that content (which we sometimes refer to as "content objects") more efficient by automatically storing copies at intermediate locations on a temporary basis. The process of storing these copies is known as "caching" and the server locations in which they are stored are referred to as "caches."
Fastly's delivers its CDN service from key access points to the Internet called "points of presence" (POPs). Fastly places POPs where their connectivity to the Internet reduces network transit time when delivering content to end-users. Each POP has a cluster of Fastly cache servers. When end users request a customer's content objects, Fastly delivers them from whichever of the cache locations are closest to each end user.
Fastly's caches only receive and process customers' end user requests for content objects. Customers decide which objects will be cached, for how long, who can access them, whether they are to be encrypted when transmitted over the Internet, and when the objects will be deleted from the caching service. Customers make these decisions by specifically configuring Fastly's CDN Service with these requirements. We refer to this configuration process as "provisioning."
To provision Fastly's CDN service, customers must identify which of their application servers will provide the original content objects for each of their various domains (e.g., company.com, myco.com). Their application servers can be physical servers in a customer data center or hosting facility, or applications running on cloud services like Amazon, or any combination. Fastly refers to these source servers as "origin" and "backend" servers interchangeably.
The first time each Fastly cache receives a request for a content object, it fetches the object from the appropriate origin server. If multiple origin servers are specified, the cache will distribute the processing load for the fetches across all of them (based on the configuration criteria set by the customer). After the content object is fetched, the cache stores a copy of it and forwards its response to the end user.
Each time after the first time an end user requests that same content object, the Fastly cache fulfills requests by retrieving the cached copy from storage (or memory) and immediately delivering it to the end user – the fetch step to the original copy is not repeated until the content object either expires or becomes invalidated.
Can Fastly host my content?
We accelerate your site by caching both static assets and dynamic content by acting as a reverse proxy to your origin server (also known as "Origin Pull"), but we do not provide services for uploading your content to our servers.
In addition to using your own servers as the source, we also support various "cloud storage" services as your origin, such as Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), and Google Cloud as your file origin. Our partnership with Google in particular enables us to have direct connectivity to their cloud infrastructure.