Фонд Wikimedia, курирующий работу свободной энциклопедии Wikipedia, открыл доступ к Git-репозиторию в котором представлены файлы конфигурации всех компонентов, используемых в инфраструктуре проекта. Кроме отдельных файлов конфигурации, в репозитории можно найти компоненты, шаблоны и метаданные для организации централизованного управления конфигурацией серверов с использованием инструментария Puppet.
Открытие файлов конфигурации представляет не только практический интерес, связанный с возможностью использования готовых примеров, но и даёт возможность непосредственно принять участие любому желающему в оптимизации серверной инфраструктуры Wikimedia. Например, скоро станет возможным предложить администраторам Wikipedia патч с улучшением тех или иных настроек, которые будут приняты, и после рецензирования и апробирования в специальном тестовом окружении, применены на практике.
Открытие файлов конфигурации является первым этапом развития новой инициативы - Wikimedia Test/Dev Labs, в рамках которой планируется обеспечить возможность привлечения сторонних энтузиастов к поддержанию функционирования Wikipedia и других сайтов фонда Wikimedia. Более того, планируется подготовить и открыть все средства, которые могли бы позволить любому желающему создать у себя клон кластера Wikimedia. Конечная идея проекта - сделать возможность внесения изменений в серверную архитектуру проекта не намного сложнее правки статьи в Wikipedia.
Кроме того, опубликованные файлы конфигурации дают возможность более плотно познакомиться с архитектурой серверной части Wikipedia:
- Для обеспечения работы web-серверов используется Nginx и Apache.
- На почтовом сервере задействованы Exim, Dovecot, Mailman и SpamAssassin;
- Для мониторинга используются Ganglia и Nagios;
- Для кэширование используются memcached, Varnish и Squid;
- Для рецензирования кода движка Wikipedia используется Gerrit, а для обработки сообщений об ошибках RT;
- Для обеспечения работы версии Wikipedia для мобильных устройств задействован passenger-enterprise-server, написанный на языке Ruby;
- Данные хранятся в СУБД MySQL;
- DNS-сервер работает под управлением PowerDNS;
- Для резервного копирования используются rsync и Amanda;
- На серверах используется Ubuntu Server и система инициализации upstart;
- Судя по файлам конфигурации, в Wikimedia проводятся эксперименты с использованием облачной платформы OpenStack;
- Интересно, что среди опубликованных файлов также можно встретить директорию с SSL-сертификатами.