Hi,
Am 03.04.2012 um 18:17 schrieb Roberto Galoppini:
We at SourceForge have worked the last ten days to line-up dedicated
infrastructure (including CDN services) to support the upcoming AOO
download serving test.
I can hardly believe reading this! What's going on? We have an existing (and well working) mirror
network, that handles any required load just fine. It's proven and time-tested. It has survived all
releases with ease. By all calculation, and by practical experience, the combined upload capacity of
the mirrors is sufficient to satisfy the peak download demand as well as the sustained demand. By the
way, the "peak download demand" doesn't really differ a lot from the day-to-day download
demand, contrary to public belief. The mirrors are numerous and spread around the world, and the
chance of a client being sent to a close and fast mirror is good - better than with a handful of
mirrors as is the case with the Sourceforge mirror network. Sourceforge specializes in something
different - providing a myriad of small files by a set of specialized mirrors. "Normal",
plain simple mirrors can't take part in this network as far as I can tell. Even though the network was
considerably extended a few years ago, from 10 (under 10?) to>20 mirrors, this is still a small
number of mirrors. (Even though these are power-mirrors, but those are part of our existing mirror
network just as well.)
With our mirror network, mirrors can mirror partial content, so they can
provide what's important in their region, like certain language packs only.
This greatly increases the likelyhood of finding mirrors in remote areas, that
don't have hundreds of gigabytes to spare. It's also unnecessary that mirrors
carry old releases that are infrequently downloaded. Mirrors can run whatever
HTTP software they prefer, not only Apache httpd, or even FTP servers. Mirrors
can decide to offer mirroring only in their network/autonomous system/country
to limit the share of requests they get, and from where they get it. Many
mirrors don't have good international connectivity, but can be used well with
us nevertheless. We provide cryptohashes, Metalinks, even P2P links, all fully
automatically. That's very important for these unusually large files.
Downloading without error correction is not fun. We select mirrors by GeoIP,
but also by geographical distance as well as network topology, whatever gives a
close match, and we already support IPv6.
It has taken some years to build all this, and a lot of the features were
triggered directly by the work on the OpenOffice.org redirector. Built for
OpenOffice.org
The software is the one kind of work that went into it, finding and collecting
mirrors the other thing, building trust and lasting relationship. A mirror
network isn't built overnight.
I think there is a danger that the Apache mirror network is equated with the OOo mirror network.
This is a mistake in my view. The large files that we have are a totally different challenge. It's
a huge difference to download 6MB tarballs and 200MB files, both from the users perspective
("why does my file not work, that I waited so long for!?") and from the mirrors
perspective ("what are these 200 connections from Chinese IPs on my mirror server!?").
It is important to be able to give mirrors different weight, because they differ vastly
in their capabilities, which can range from 4GBit bandwidth down brittle to 50Mbit
somewhere else. Even inside an "Internet country" like Germany you'll have
differences of 100 MBit to multiple Gbit, and you want to utilize the bandwidth well. We
have this working well!
OpenOffice.org used a software called "Bouncer" before switching to
MirrorBrain, which was one of the simpler solutions. I think everybody (who has been in
the project a few years) will agree that we don't want to go back.
So I see that Sourceforge wants to beef up their network by renting a Content
Delivery Network (CDN). Is that needed? yes, because they don't have enough
bandwidth in mirrors. Is that a good idea? I don't think so, but I'm biased,
because 1) I don't like advertisements and 2) I'm strongly rooted in the mirror
community with both legs.
In the mirror community, there is a kind of self esteem among the more ambitious
mirror admins: they believe that stepping in of commercial CDNs is not needed to
handle even peak download demand of the most popular Open Source software. And
they work hard for it. Together, we have proven that the help of commercial CDNs
is *not* needed, both with OpenOffice.org and with OpenSUSE.org. Mirrors have
served> 20 GByte per second together. The bandwidth is there!
(In the past, Akamai was used during release peaks with OpenSUSE.org, so I have
been there, and also got interesting insight and numbers there.)
I tried the currently configured download from
http://www.openoffice.org/download today (from a real crappy end user box ;).
It was slow and didn't start downloading immediately, but showed a page full of
advertisement that didn't have any relation to OpenOffice.org, wanted to open a
popup (MS IE said that and blocked it) and when the download started, it came
from the Swiss mirror, but I'm in Germany! What's that? Thrown 3 years back in
time? Sub-optimal. (I can guess who pays for the CDN that is rented to help
out: advertising.)
Do you really want to ditch what we have built? Ditching the system that
improved downloading OpenOffice.org in the farthest corners of the world?
Exchanging it against a handful of Sourceforge mirrors, and 250 Apache mirrors,
many of which lack the capability? Some are big, but many will be far from
having the bandwidth to deliver large files.
Something that Apache's mirror system also can't do is sending me to my local
mirror (my very ISP in my city runs a mirror, and my home IP is in their
netblock). Apache mirror system sends me to *any* mirror in my country, while
our current solution recognizes the network topology and lets me download from
the local mirror. Especially with large files, that's very nice both for the
ISP and for me as user. Sourceforge can theoretically do this (because they use
a part of MirrorBrain for that purpose!) but don't have enough mirrors to play
this out. This is not only useful with single ISPs, if they have a mirror; it's
also useful with autonomous systems (AS) of networks that share a backbone,
like most German universities in AS680 here in Germany.
So we will have a *technically inferiour* solution in the future? That's not
the Apache way, is it?
I have been told more than once, on this list, that "it will be the Apache mirror
system and nothing else". I didn't understand the reasons (except for policy, no
special treatment for individual projects), but it won't work that way IMO.
Now it seems to me that the Apache mirror system seeked the help of
Sourceforge.net. If that means that some doubts crept up, then I share those
doubts. But I don't see Sourceforge.net as the solution either, as explained
above. They have their merits, and I like their dedication and the specialized
system they've built (with features that I'm envious of!), but I think our
existing solution is better suited. And not only that, IMO it is a very
important prerequisite of being successful. No well-working downloads, no luck
with distributing FOSS that consists of large files.
Thanks for reading that far,
Peter