Обновить
169.54

Хостинг

Виртуальный, Dedicated, Colocation

Сначала показывать
Порог рейтинга
Уровень сложности

Лучшие практики Kubernetes. Корректное отключение Terminate

Время на прочтение4 мин
Охват и читатели5.8K
Лучшие практики Kubernetes. Создание небольших контейнеров
Лучшие практики Kubernetes. Организация Kubernetes с пространством имен
Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness
Лучшие практики Kubernetes. Настройка запросов и лимитов ресурсов



Важным моментом в работе распределенных систем является обработка сбоев. Kubernetes помогает в этом, используя контроллеры, которые следят за состоянием вашей системы и перезапускают переставшие работать сервисы. Однако Kubernetes может принудительно останавливать работу ваших приложений, чтобы обеспечить общую жизнеспособность системы. В этой серии мы рассмотрим, как можно помочь Kubernetes выполнять свою работу более эффективно и сокращать время простоя приложений.

Ликбез про VPS: как настроить удалённый рабочий стол, если вы Win-пользователь

Время на прочтение10 мин
Охват и читатели63K

Привет! Это ликбез про то, как, имея обычные навыки Win-пользователя, создать удалённый рабочий стол на Windows. Сразу скажу, что большей части аудитории Хабра это покажется детским садом, но, как мы знаем по первой линии нашей поддержки, этот навык очень востребован. Ну и теперь будет ссылка, которую можно отправить вместо объяснений.

Мы часто сталкиваемся с мифом, что для поднятия собственного виртуального сервера нужно быть гуру технологий и знать тайны Linux. Сегодня всё уже давно не так и можно создать виртуальную машину на Windows за 15 минут, четыре-семь из которых вы будете ждать, пока она, собственно, создастся. Это просто, быстро, дёшево и не требует решительно никаких специальных навыков. Поэтому ликбез.

— Зачем это нужно?

Самый частый случай — чтобы база данных бухгалтерии была в компании, а не на домашнем компьютере бухгалтера. Если бухгалтер заболеет или с ним случится что-то ещё, будет тяжело доставать всё это. Более редкие случаи — когда нужно иметь под рукой своё рабочее окружение с телефона из любой точки мира или когда вы часто используете чужие компьютеры.

Ещё это пригодится для создания игровых серверов, торговли на бирже, торрентов, разных повторяющихся процессов, программ для автоматизации соцсетей (и накрутчиков лайков, чего уж там), SEO-утилит, подготовки к сдаче белой бухгалтерии, путешествий (особенно, когда вы не хотите возить свой домашний компьютер куда-то в соседний город на месяц) и так далее. Ещё часто VPS используется для безопасности банк-клиента компании.

Как мы переучивали поддержку разговаривать по-человечески, и что получилось

Время на прочтение9 мин
Охват и читатели30K


Поддержка разговаривала с пользователями сухо, коротко и официально. Пользователи обижались. Например, вот:
Клиент: Привет, как поднять VPN на сервере?
Поддержка: Ваш сервер в порядке, мы не занимаемся серверным администрированием [закрывает тикет].

Поддержка права? Права. Но клиент обиделся. Потому что можно было то же самое написать нормально:
Клиент: Привет, как поднять VPN на сервере?
Поддержка: Добрый день! Я не могу помочь вам настроить VPN, потому что мы оказываем поддержку только в случае, если что-то не работает на нашей стороне. Но у нас есть статья в базе знаний, как просто поднять VPN. Спасибо за обращение [закрывает тикет].

Что поменялось? Клиент понял, что его не послали, а что всё ещё уважают, но услуга не входит в пакет. Для тех, кому первая фраза кажется слишком сухой, есть элементы этикета, которые используют все вежливые люди. Есть понятный следующий шаг.

Мы стараемся давать максимум технических вещей за минимум денег, и поддержка традиционно оставалась за бортом: она дорогая в расчёте на стоимость месячного тарифа VDS. Но оказалось, что можно поменять многое довольно дёшево. Мы и поменяли. И протестировали. Ниже — несколько основных вещей:

  • Как вежливо ответить, если помогать не будем.
  • Как убрать бюрократизм из ответов.
  • Нужно не забывать извиняться, если проблема была на нашей стороне.
  • Как отвечать по делу, а не «вы находитесь на воздушном шаре».
  • Почему уважение — это не слово «уважаемый» в начале.
  • Почему надо говорить о своих действиях в процессе.
  • Почему вообще надо писать по-человечески.
Читать дальше →

Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness

Время на прочтение4 мин
Охват и читатели11K
Лучшие практики Kubernetes. Создание небольших контейнеров
Лучшие практики Kubernetes. Организация Kubernetes с пространством имен



Распределенными системами бывает трудно управлять по причине того, что в них имеется множество подвижных изменяемых элементов, и все они должны нормально работать для обеспечения функциональности системы. Если один из элементов выйдет из строя, то система должна его обнаружить, обойти и исправить, причем все это нужно делать автоматически. В этой серии «Kubernetes Best Practices» мы узнаем, как настраивать тесты Readiness и Liveness для проверки жизнеспособности кластера Kubernetes.

Проверка здоровья Health Check — это простой способ позволить системе знать, работает ли экземпляр вашего приложения или нет. Если экземпляр вашего приложения не работает, то другие службы не должны обращаться к нему или отправлять ему запросы. Вместо этого запрос должен быть отправлен другому экземпляру приложения, который уже запущен или запустится позже. Кроме того, система должна вернуть вашему приложению утраченную работоспособность.

По умолчанию Kubernetes начнет отправлять трафик в pod, когда все контейнеры внутри подов будут запущены, и перезагружать контейнеры, когда они аварийно завершат работу. Для начала такое поведение системы по умолчанию может быть достаточно хорошим, однако вы можете повысить надежность развертывания своего продукта, используя пользовательские проверки работоспособности.

Лучшие практики Kubernetes. Организация Kubernetes с пространством имен

Время на прочтение6 мин
Охват и читатели21K
Лучшие практики Kubernetes. Создание небольших контейнеров

По мере того как вы начинаете создавать все больше и больше сервисов Kubernetes, простые по началу задачи начинают усложняться. Например, команды разработчиков не могут создавать службы или развертывания под одним и тем же именем. Если у вас тысячи подов, их простое перечисление займет кучу времени, не говоря о том, чтобы обеспечить им нормальное управление. И это только верхушка айсберга.

Давайте рассмотрим, как пространство имен namespace облегчает управление ресурсами Kubernetes. Итак, что же такое пространство имен? Namespace можно рассматривать как виртуальный кластер внутри вашего кластера Kubernetes. Вы можете иметь несколько изолированных друг от друга пространств имен внутри одного кластера Kubernetes. Они реально могут помочь вам и вашим командам с организацией, безопасностью и даже производительностью системы.



В большинстве дистрибутивов Kubernetes кластер «выходит из коробки» с пространством имен, имеющим название «default». На самом деле существует три пространства имен, с которыми Kubernetes имеет дело: default, kube-system и kube-public. В настоящее время Kube- public используется не так уж часто.

Лучшие практики Kubernetes. Создание небольших контейнеров

Время на прочтение7 мин
Охват и читатели12K


Первый шаг развертывания в Kubernetes – это размещение вашего приложения в контейнере. В этой серии мы рассмотрим, как можно создать образ небольшого и безопасного контейнера.
Благодаря Docker, создание образов контейнеров никогда еще не было настолько простым. Укажите базовый образ, добавьте свои изменения и создайте контейнер.



Несмотря на то, что данный прием отлично подходит для начала работы, использование базовых образов по умолчанию может привести к небезопасной работе с большими образами, полными уязвимостей.

15 мая RU-Center может добавить вам платную услугу без вашего участия

Время на прочтение3 мин
Охват и читатели54K
Если у вас ненулевой баланс на счету RU Center, то с вас могут начать списывать 99 р/месяц. Услуга в подарок.
Читать дальше →

Обрезаем нити: переход с Puppet Enterprise на Ansible Tower. Часть 2

Время на прочтение8 мин
Охват и читатели2.2K
Национальная информационная служба спутниковых данных об окружающей среде (NESDIS) на 35% снизила свои затраты на управление конфигурацией Red Hat Enterprise Linux (RHEL), перейдя с Puppet Enterprise на Ansible Tower. В этом видео категории «как мы это сделали» системный инженер Майкл Рау обосновывает выполнение этой миграции, делится полезными советами и опытом, полученным в результате перехода с одной SCM на другую.

Из этого видео вы узнаете:

  • как обосновать руководству целесообразность перехода с Puppet Enterprise на Ansible Tower;
  • какие стратегии использовать для максимально плавного перехода;
  • советы по транскодированию PE манифестов в Ansible Playbook;
  • рекомендации по оптимальной установке Ansible Tower.

Читать дальше →

Обрезаем нити: переход с Puppet Enterprise на Ansible Tower. Часть 1

Время на прочтение9 мин
Охват и читатели3.1K
Национальная информационная служба спутниковых данных об окружающей среде (NESDIS) на 35% снизила свои затраты на управление конфигурацией Red Hat Enterprise Linux (RHEL), перейдя с Puppet Enterprise на Ansible Tower. В этом видео категории «как мы это сделали» системный инженер Майкл Рау обосновывает выполнение этой миграции, делится полезными советами и опытом, полученным в результате перехода с одной SCM на другую.

Из этого видео вы узнаете:

  • как обосновать руководству целесообразность перехода с Puppet Enterprise на Ansible Tower;
  • какие стратегии использовать для максимально плавного перехода;
  • советы по транскодированию PE манифестов в Ansible Playbook;
  • рекомендации по оптимальной установке Ansible Tower.

Читать дальше →

Дэвид О’Брайен (Xirus): Метрики! Метрики! Метрики! Часть 2

Время на прочтение9 мин
Охват и читатели2.3K
Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных расположениях, удаленных офисах и облаке.

Дэвид обучает отдельных лиц и компании всему, что связано с Microsoft Azure и Azure DevOps (бывшему VSTS) и до сих пор занимается практическим консультированием и инфракодированием. Он уже 5 лет является обладателем премии Microsoft MVP (Самый ценный профессионал Майкрософт), а недавно получил награду MVP Azure. Как соорганизатор Melbourne Microsoft Cloud и Datacentre Meetup, О’Брайен регулярно выступает на международных конференциях, сочетая свой интерес к путешествиям по миру со страстью делиться ИТ-историями с сообществом. Блог Дэвида находится по адресу david-obrien.net, он также публикует свои онлайн-тренинги по Pluralsight.

В выступлении рассказывается о важности метрик для понимания того, что происходит в вашей среде и того, как работает ваше приложение. Microsoft Azure имеет мощный и простой способ отображения метрик для всех видов рабочих нагрузок, и в лекции говорится, как можно все их использовать.

В 3 часа ночи, в воскресенье, во время сна вас внезапно будит сигнал текстового сообщения: “сверхкритическое приложение снова не отвечает”. Что же происходит? Где и в чем причина «тормозов»? Из этого доклада вы узнаете про сервисы, которые Microsoft Azure предлагает клиентам для сбора логов и, в частности, метрик ваших облачных рабочих нагрузок. Дэвид расскажет, какие метрики должны вас интересовать при работе на облачной платформе и как до них добраться. Вы узнаете об инструментах с открытым исходным кодом и построении панелей мониторинга и в результате приобретете достаточно знаний для создания своих собственных панелей.

Дэвид О’Брайен (Xirus): Метрики! Метрики! Метрики! Часть 1

Время на прочтение9 мин
Охват и читатели3.8K
Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных расположениях, удаленных офисах и облаке.

Дэвид обучает отдельных лиц и компании всему, что связано с Microsoft Azure и Azure DevOps (бывшему VSTS) и до сих пор занимается практическим консультированием и инфракодированием. Он уже 5 лет является обладателем премии Microsoft MVP (Самый ценный профессионал Майкрософт), а недавно получил награду MVP Azure. Как соорганизатор Melbourne Microsoft Cloud и Datacentre Meetup, О’Брайен регулярно выступает на международных конференциях, сочетая свой интерес к путешествиям по миру со страстью делиться ИТ-историями с сообществом. Блог Дэвида находится по адресу david-obrien.net, он также публикует свои онлайн-тренинги по Pluralsight.

В выступлении рассказывается о важности метрик для понимания того, что происходит в вашей среде и того, как работает ваше приложение. Microsoft Azure имеет мощный и простой способ отображения метрик для всех видов рабочих нагрузок, и в лекции говорится, как можно все их использовать.

В 3 часа ночи, в воскресенье, во время сна вас внезапно будит сигнал текстового сообщения: “сверхкритическое приложение снова не отвечает”. Что же происходит? Где и в чем причина «тормозов»? Из этого доклада вы узнаете про сервисы, которые Microsoft Azure предлагает клиентам для сбора логов и, в частности, метрик ваших облачных рабочих нагрузок. Дэвид расскажет, какие метрики должны вас интересовать при работе на облачной платформе и как до них добраться. Вы узнаете об инструментах с открытым исходным кодом и построении панелей мониторинга и в результате приобретете достаточно знаний для создания своих собственных панелей.

Мне кажется, что российские VPS/VDS-хостинги родом из ада (и да, мы косячим тоже)

Время на прочтение12 мин
Охват и читатели29K

В общем, сразу хочу сказать, что мнение про ад и то, что сервис у многих из двухтысячных — это оценочное суждение. На самом деле, конечно, они родом из России. На самом деле, конечно, мы тоже хороши, и об этих пятнах в биографии я тоже расскажу. На самом деле, в последние годы та же поддержка у многих стала гораздо лучше. Но всё равно кое у кого родословная кое-где да всплывает.

Давайте я пройдусь по проблемам, которые часто прямо нереально болят у клиентов хостинга, расскажу, что хорошо-плохо у нас и как это выглядит в других хостингах в России и за её пределами (но там, очевидно, я знаю про внутрянку меньше).

Первая история — железо. Клиентов нереально бесит, когда полетел RAID-контроллер или вылетело сразу несколько дисков, и поддержка делает простой на замену. У нас был один клиент, которого сначала рикошетом зацепило DDoS по соседней VDS в том же серваке, потом через два часа начались плановые работы с сетевым адаптером, а потом ещё и рейд ушел в ребилд после включения-перезагрузки. К вопросу дидосов мы ещё вернёмся, кстати.

Так вот, можно взять дешёвое «околобытовое» железо и часто его чинить, а можно серверное — у нас Хуавей корпоративной линейки. Насколько я знаю, профессиональное серверное железо есть у нас и ещё у двух игроков на российском рынке. Поправьте меня, если ошибаюсь. Это потому что мы на старте считали, что проживём больше пяти лет и решили списывать старое железо минимум через пять лет после начала эксплуатации. Кстати, опять же, примерно так и появился тариф за 30 рублей за VDS, смекаете?
Читать дальше →

Что такое VPS/VDS и как его купить. Максимально внятная инструкция

Время на прочтение12 мин
Охват и читатели184K
Выбор VPS на современном рынке технологий напоминает выбор книг нон-фикшн в современном книжном: вроде и обложек интересных много, и цены на любой разбег кошелька, и имена каких-то авторов на слуху, но найти то, что действительно нужно и не является по сути бредом автора, крайне сложно. Точно так же провайдеры предлагают разные мощности, конфигурации и даже бесплатные VPS (хорошее предложение, но принимать его, конечно, опасно). Давайте определимся, на что же нужно обратить внимание при выборе провайдера.

Не гадайте на ромашке — читайте нашу инструкцию
Читать дальше →

Ближайшие события

История создания облачного сервиса, приправленная киберпанком

Время на прочтение8 мин
Охват и читатели5K


С ростом стажа работы в IT начинаешь замечать, что системы имеют свой характер. Они могут быть покладистыми, молчаливыми, взбалмошными, суровыми. Могут располагать к себе или отталкивать. Так или иначе, приходится «договариваться» с ними, лавировать между «подводными камнями» и выстраивать цепочки их взаимодействия.


Вот и нам выпала честь построить облачную платформу, а для этого потребовалось «уговорить» пару подсистем работать с нами. Благо, у нас есть «язык API», прямые руки и куча энтузиазма.


В этой статье не будет технического хардкора, но будет описание проблем, с которыми мы столкнулись при построении облака. Я решил описать наш путь в виде легкой технической фантазии о том, как мы искали общий язык с системами и что из этого вышло.


Добро пожаловать под кат.

Читать дальше →

Что скрывается за VestaCP

Время на прочтение6 мин
Охват и читатели29K


Вряд ли сейчас кому-то может прийти в голову мысль написать свою панель управления сервером: интернет давно прикипел к ISP, cPanel, Plesk и десятку их аналогов. Все «взрослые» панели умеют примерно одно и то же, различаясь лишь интерфейсом, уровнем поддержки и специфическим функционалом. Но 13 лет назад всё было иначе:
Сейчас уже сложно сказать, когда именно я начал работу над вестой. Если считать первые скрипты добавления виртуальных хостов в апач, то это был 2007 год. Получается 5 лет тому назад. Помню тогда на работе состоялся примерно такой диалог:
— Ты решил написать свою панель управления?
— Ага, ведь cPanel это ужас, Plesk хоть и лучше, но сильно дорогой. Да и вообще у меня уже почти все готово
— Хм… для того чтобы просто приблизиться к сPanel тебе потребуется минимум 2 года
skid, разработчик Весты

Что выросло из этой идеи спустя столько лет? Неплохой продукт, популярный среди хостеров (на сайте упоминается 25000 установок в месяц по миру), с активным комьюнити и с большим списком индивидуальных фич. Но как и в любом другом продукте, в процессе использования Весты вылезает довольно много нюансов, незаметных со стороны. Далее мы разберём принципы работы панели, её косяки и сильные стороны.
Читать дальше →

Резервное копирование: где, как и зачем?

Время на прочтение11 мин
Охват и читатели29K

Защита данных предполагает наличие бэкапа — резервных копий, из которых можно выполнить их восстановление. Для большинства компаний и организаций резервное копирование данных относится к числу наиболее важных приоритетов. Около половины компаний работают со своими данными как со стратегическим активом. И ценность хранимых данных постоянно растет. Их используют для повышения качества обслуживания клиентов, поддержки текущей деятельности, исследований и разработок, учета, они задействованы в системах автоматизации, интернета вещей, искусственного интеллекта и др. Поэтому задача защиты данных от аппаратных сбоев, человеческих ошибок, вирусов и кибератак становится крайне актуальной.

В мире наблюдается рост киберпреступности. В прошлом году более 70% компаний подверглись кибератакам. Компрометация персональных данных клиентов и конфиденциальных файлов может иметь серьёзные последствия и приводить к огромным убыткам.
Читать дальше →

Серверы в Нидерландах почти закончились: новые заказы возможно будет невозможно исполнить, закончатся ли VPS и Интернет?

Время на прочтение6 мин
Охват и читатели8.3K
Не знаю, как у кого, а у нас интенсивность запросов возросла (при том, что мы интенсивность рекламы снизили на время, нет мы не о контексте «Как специалисты Google Adwords помогли мне выбросить 150 000 грн (около $6000) за месяц или почему я больше не буду»…). Видимо все сидят по домам и массово начали выходить в онлайн, что спровоцировало рост Интернет-трафика в целом, к чему не совсем оказались готовыми некоторые из популярных ресурсов и провайдеров, обеспечивающих доступ в Интернет или транзит трафика. Verizon опубликовали статистику, что их сети стали настолько перегруженными, что пришлось принимать меры и вводить новые QoS и даже расширять ёмкость сети за счёт новых подключений, так как веб-трафик возрос за неделю на 20%, видео-стримминг на 12%, онлайн-игры на 75%, в то время как трафик социальных сетей остался без изменений. Да, чуть не забыл, VPN-трафик возрос на 34%, так как многие перешли на работу удалённо. Возможно это повод для многих компаний осознать, что офисы им не нужны или нужны, но для ограниченного круга специалистов.

Кто-то говорит о кризисе? Фиг Вам. IT-cектор будет стимулировать и оффлайн-бизнес и он будет испытывать и уже испытывает небывалый рост, в определённых его сегментах конечно же. И для тех, кто видит эти возможности — это возможность взрывного роста. Без работы никто точно не останется, просто деятельность преобразуется, вместе с преобразованием ценностей потребления и аутсайдеры, увы, понесут убытки. Как впрочем и всегда.

Online-индустрия невозможна без людей, инженеров, осуществляющих работу на местах, которую невозможно делать удалённо и они будут цениться больше. К примеру, собрать новую стойку для серверов, выполнить монтаж оборудования, его производство и доставку. И логистика проведения этих работ существенно меняется. Некоторые дата-центры разделили команды инженеров на группы и изолировали их друг от друга. Таким образом сведен к минимуму риск того, что инженеры выйдут из строя одновременно и работа остановится.
Читать дальше →

Вечный сервер — как избавиться от ежемесячных платежей за хостинг

Время на прочтение8 мин
Охват и читатели86K


— На вашем счету недостаточно средств для продления услуги. Вся ваша работа за 10 лет будет уничтожена в течение 2 рабочих дней.


Всем знакома ситуация, когда списания за хостинг происходят в неподходящий момент: на карте кончились деньги или она просрочена, письмо с уведомлением попало в спам, у вас в этот момент переезд и рожает кот. В итоге услуги блокируются, все ломается, и нужно срочно бежать оплачивать. А еще кризис, нужно пытаться не умереть от коронавируса и приходится выбирать между гречкой и оплатой серверов для личных проектов.

В статье мы расскажем как избавиться от регулярных платежей на содержание хостинга, доменных имен, SSL-сертификатов. И как сделать максимально автономный сервер, который переживет зомби-апокалипсис.
Читать дальше →

CloudFlare — рак интернета

Время на прочтение5 мин
Охват и читатели274K


Дисклеймер: я сам много пользуюсь CloudFlare и считаю, что они делают большое дело, помогают развивать интернет, дают бесплатно крутые продукты, и в целом отличные ребята. Статья описывает проблемы глобализации и новые угрозы, когда децентрализованный интернет становится централизованным.

Когда CloudFlare только появился, это была настоящая революция в веб-хостинге: в два клика, без переезда на другой сервер, к своему сайту можно было подключить профессиональный CDN, который экономил кучу трафика, ускорял загрузку статических файлов и еще защищал от DDoS. Раньше позволить себе такое могли только компании за большие деньги, а теперь это стало доступно каждому, еще и бесплатно!

С тех пор CloudFlare сильно вырос и сегодня проксирует через свою инфраструктуру треть интернета. Из-за этого появились проблемы, которых раньше не существовало. В посте мы разберем, как CloudFlare угрожает нормальной работе интернета, мешает обычным людям пользоваться сайтами, имеет доступ к зашифрованному трафику, и что с этим делать.
Читать дальше →

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих

Время на прочтение9 мин
Охват и читатели62K

В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU).

Для начала определим что такое нейронная сеть.

В нашем случае это математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы.

Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение.

С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавания образов, дискриминантного анализа, методов кластеризации и прочих методов.

Оборудование


Сначала разберемся с оборудованием. Нам необходим сервер с установленной на нем операционной системой Linux. Оборудование для работы систем машинного обучения требуется достаточно мощное и как следствие дорогое. Тем, у кого нет под рукой хорошей машины, рекомендую обратить внимание на предложение облачных провайдеров. Необходимый сервер можно получить в аренду быстро и платить только за время использования.
Читать дальше →

Вклад авторов