Fedora Infrastructure Network spans multiple continents. Datacenters are present in North America, UK and Germany. List of Datacenters goes as follows:
- phx2 - main Datacenter in Phoenix, AZ, USA
- rdu - North Carolina, USA
- tummy - Colorado, USA
- serverbeach - San Antonio, TX, USA
- telia - Germany
- osuosl - Oregon, USA
- bodhost - UK
- ibiblio - North Carolina, USA
- internetx - Germany
- colocation america - LA, USA
This section shows how our severs are interconnected or connected to the outside world.
Following diagram shows overall network architecture. fedoraproject.org and admin.fedoraproject.org are round robin
DNS entries. They are populated based on geoip information. For example, for North America they get a pool of servers in North America. Each of those servers in
DNS is a proxy server. It accepts connections using
HAProxy as a backend, and in turn some(but not all) services use
varnish for caching. Requests are replied to from cache if
varnish has it cached, otherwise it sends into a backend application server. Many of these are in the main datacenter in phx2 and some are at other sites. The application server processes the request and sends it back.
This shows whats going on in the proxies. Incoming
DNS balanced user application requests hits
Apache httpd in proxy server. Authorization can be done at Proxy Server though it should be done at application level for security reasons. Authorized requests reaches
HAProxy, which load balances requests over the app servers. Some of them reaches over
VPN. An example of external source is fedoraproject.org/people/ which is a proxy pass to people.fedoraproject.org hosted at Duke. In some cases there is also
HAProxy and the app servers to help cache information. Local requests use standard alias in the
This is a generic view of how our applications work. Each application may have its own design, but the premise is the same. Incoming requests are load-balanced from proxy server and reaches to appropriate service box. All application servers in the clustered services area must be identical. If an exception is made it must get moved to solo services box. Most solo services will be one-offs or proof of concept(test) services. Most commonly our single point of failure lie in the data layer.
One can contribute to Fedora Infrastructure in several ways. If you are looking to improve the quality of content in this page then have a look at GettingStarted. And if you are wondering why no server in a great country like yours and want to make donations of hardware please visit our donations and sponsors page.