К началу

Публикация в сообществе "X Networks - IT-агрегатор №1"

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

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

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

Первым шагом стало появление TCP/IP в 1973 году. Этот протокол открыл теоретическую возможность обмена пакетами данных между компьютерами в коммутируемых сетях передачи данных. И с этого момента стал использоваться термин Интернет.

Прошло много времени, прежде чем в 1991 году удалось создать первый интернет-браузер для отображения гипертекстовых документов. Эта революция сделала визуальный интерфейс взаимодействия человека с компьютером интуитивно понятным. Это достижение значительно расширило круг пользователей Интернета. К инженерам и ученым присоединились люди, далекие от технических специальностей.

Процесс вовлечения новых пользователей в Интернет стал набирать такую скорость, что спустя несколько лет появились прообразы первых социальных сетей. Забытый ныне проект «Шесть градусов» (1997) был занимательным и впервые предложил модель социальных кругов как новый способ взаимодействия с пользователями в Интернете. Six Degrees привлекла 3,5 миллиона пользователей на пике популярности, но со временем уступила место другим игрокам.

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

Нельзя сказать, что этот взлет был легким. Стало очевидно, что расширение и удержание аудитории — самые важные и сложные задачи. Поэтому один из основателей MySpace Крис ДеВулф в 2005 году пытался договориться с Марком Цукербергом о поглощении тогда еще не очень популярного Facebook за 75 миллионов долларов. Кто знает, может быть, Myspace доминировал бы сейчас, если бы сделка состоялась.

Интересно, что сам MySpace попал под натиск Facebook из-за излишней самоуверенности в своей исключительности. В то время Facebook не мог предложить никаких уникальных функций; он просто устранил основные недостатки конкурента - лагающий интерфейс и засилье рекламы.

С появлением Facebook ландшафт социальных сетей изменился. Болезненный опыт предшественников заставил Facebook уделять особое внимание потребностям и предпочтениям аудитории. Результатом стал непрерывный рост компании на протяжении 18 лет. Наконец, сегодня непросто представить другую компанию, которая осмелится бросить вызов Facebook. И главная причина — невозможность собрать размер аудитории, сравнимый с Facebook.

Какую бы тему вы ни вспомнили, она всплывет на Facebook. Мы согласны с тем, что это часто будет поверхностным взглядом обычных пользователей на заданный вопрос. Но сама соцсеть не стремится быть авторитетным источником по всем вопросам (достаточно вспомнить недавние скандалы о внутренних механизмах модерации).

Если у конкурентов Facebook нет шансов побороться за широкую аудиторию, может быть, попытаться ее сегментировать и углубить свою специализацию? Да, этот подход работает! Вы найдете множество подтверждений этому, если посмотрите на любой успешный современный проект в социальных сетях.

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

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

Как и первые автомобили, первые социальные сети создавались энтузиастами с помощью подручных средств. В 1990-х и начале 2000-х не было специального программного обеспечения для построения социальных сетей, поэтому основатели все делали на распространенных языках программирования методом проб и ошибок. Такой подход требовал больших усилий, но до 2000 года у создателей было время на эксперименты, так как каждый год появлялось всего 1-2 конкурента. Однако после 2003 года ежегодно стали запускаться 5-7 новых социальных сетей, а цена ошибки в случае просрочки или неудачной разработки значительно возросла. Традиционные языки программирования в таких условиях стали достаточно негибкими и в целом потеряли свое исключительное значение.

Целые фреймворки были разработаны, чтобы облегчить построение сложных вычислительных систем (и социальные сети также являются такими). Программные фреймворки подобны строительным лесам для создания уникальных зданий, и почти все современные популярные социальные сети используют их в качестве основных инструментов.

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

Социальная сеть, созданная с помощью фреймворка, похожа на аттракцион «американские горки». Со стороны кажется, что это сооружение опасно, но на самом деле каждый подъем и поворот рассчитан с филигранной точностью, поэтому случайности исключены. Конечно, фреймворки позволяют создавать совершенно разные проекты социальных сетей с уникальными концепциями.

Вторая категория технических решений для создания социальных сетей — системы управления контентом (CMS). Они приобрели огромную популярность во время резкого роста числа веб-сайтов в 2000 году, но редко используются в качестве платформ для социальных сетей.

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

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

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

Поддержка сайтов CMS более управляема, чем работа с системами, написанными с нуля; этому способствует как наличие документации, так и высокий профессиональный уровень разработчиков CMS, что отражается в логичной и понятной архитектуре системы.

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

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

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

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

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

Если говорить о применимости SaaS-решений для создания социальных сетей, то это невозможно. Исторически они появились для удовлетворения растущего интереса пользователей к простым конструкторам для создания простых сайтов, не особо требовательных к дизайну и функциям и не требующих каких-либо доработок программной логики. Однако с ростом популярности социальных сетей платформы SaaS получили некоторые функции, которые успешно копируют «старших братьев».

К сожалению, за простотой использования и внешней привлекательностью платформ SaaS скрывается множество проблем. Например, сайты на платформах SaaS используют готовые шаблоны, которые можно только раскрашивать и менять местами отдельные блоки. Жесткая функциональность SaaS является частью стратегии — безопасность и простота для всех за счет уникальности для единиц. И если платформа не может что-то сделать, исправить это невозможно. Поэтому конкретные задачи и гибкие настройки — это не про SaaS.

И самая главная особенность сайтов на таких платформах — низкая производительность, отказоустойчивость и производительность. Как правило, эти показатели аналогичны сайтам виртуального хостинга, работающим на неоптимизированной коробочной CMS.

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

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

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

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

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

Значительно сократить время разработки и исключить риски реально, если довериться разработчику, у которого уже есть специально разработанный фреймворк с реализованными функциями социальных сетей. Такое предложение есть у компании X Networks . Собственная платформа для создания и развертывания социальных сетей QSNE (Qwerty Social Network Engine) позволяет реализовать проект любой сложности, а не только социальную сеть.

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

- Встроенная поддержка 40+ языков мира и средства коррекции для переводчиков позволяют автоматически определять язык пользователя с возможностью последующей настройки, перевод публикаций и комментариев пользователей и другого контента на языки читателей;

- Встроенная биллинговая система оперирует сотнями различных валют (виртуальных и национальных), расчет кросс-курсов с учетом обменных процессинговых центров и курсов различных центральных банков обеспечивает функциональность платежной системы;

- Qwerty Network File Cloud может хранить и настраивать доступ к файлам для пользователей. Он предоставляет возможности, аналогичные Google Диску, и обменивается файлами, прикрепляет файлы к публикациям или другим объектам. Эта способность имеет решающее значение, поскольку социальные сети и сложные порталы генерируют много контента;

- Системы биллинга и контроля платежей, интегрированные с сервисами уведомлений;

- Искусственный интеллект Qwerty имеет гибкие возможности для организации технической поддержки пользователей и интеллектуального ранжирования публикаций;

- Агрегация новостей из авторитетных источников (для каждого проекта мы определяем список "авторитетов");

- Возможности маркетплейса, автоматизация продаж и логистики, а также внутренний арбитраж сделок - мы можем развить ваш проект в аналог AliExpress;

- Смарт-контракты, «безопасные транзакции», служба внутреннего арбитража;

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

- Системы защиты от DDOS и других видов атак с автоматическим уведомлением провайдеров (X Networks также владеет сервисом testddos.com для проверки нагрузочного тестирования сайтов);

- Модули взаимодействия с SMS и телефонными сервисами;

- Защита учетных записей от взлома, разрешения на ведение журнала и двухфакторная аутентификация. Система безопасности QSNE — один из критических блоков платформы;

- Подписки на пользователей и сообщества;

- Агрессивное кеширование данных (аналогично Facebook);

- Гибкие настройки конфиденциальности для пользователей и их публикаций;

- Мощный многопоточный поисковик;

- Создание сообществ (открытых и закрытых страниц, а также профессиональных и «по подписке»);

- Внутренний мессенджер (система обмена мгновенными сообщениями), интегрированный с автономным мессенджером QAIM, с возможностями искусственного интеллекта;

- Антивирусная проверка публикуемого контента (SDK более 20 антивирусов), интеллектуальная премодерация;

- Сквозное тегирование любого контента и данных в потоке информации;

- Система обслуживания укороченных ссылок;

- Защита от ботов и парсинг (проверка действий пользователя);

- SMM-инструменты;

Этого набора инструментов достаточно для создания любой надежной социальной сети, и вы можете найти аналогичный список у других разработчиков. Так что будет полезно уточнить объективные параметры производительности такой платформы. Например, X Networks регулярно тестирует свою платформу QSNE и публикует результаты.

Так, проведенное в 2020 году нагрузочное тестирование подтвердило способность платформы выдерживать 4 Гбит/с (и до 10 Гбит/с!). Это означает обеспечение непрерывности предоставления услуг в случае большого количества запросов пользователей и при внешней DDoS-атаке. При этом подсистема безопасности автоматически определяет 98% источников атак и отправляет уведомления соответствующим провайдерам.

В 2021 году компания протестировала скорость базы данных на платформе QSNE. Их ноу-хау позволили сравнять производительность базы данных MySQL с известными базами данных NoSQL. При этом тестирование в Google PageSpeed Insights показало наивысшую оценку скорости доступа — 100 баллов!

Техническое решение во многом будет определять впечатления пользователей. Должны ли их эмоции быть сравнимы с катанием на американских горках или на лошадке-качалке? А может, достаточно предложить им машинку с заводным механизмом?

Вам решать, что выбрать для создания социальной сети. Однако, если ваши цели амбициозны, полагайтесь на проверенное решение на платформе QSNE, тем более что X Networks не ограничивается предоставлением только услуг веб-разработки и открыта для различных форм сотрудничества .

73cdb6ebdf1bd5772f29cc5622ca3d17.jpg

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