Зачем веб-студии собственная SMS

Александр Сапожков

Что делать, если вашей компании надо создать 50 и больше сайтов-представительств в различных регионах? Сделать мультисайт, заказать шаблонные решения, заняться индивидуальной разработкой или использовать возможности кластера? Компания WebCanape рассказывает о собственном опыте решения проблемы и разработке системы Canape SMS (Site Management System).

Менеджмент проектов: от нуля до нескольких сотен

Агентство WebCanape разрабатывает и продвигает сайты для малого и среднего бизнеса. Изначально мы создали собственную CMS-платформу и до сих пор строим большую часть сайтов наших клиентов на ее основе.

В 2012 году ресурсов Canape CMS версии 2.0 было вполне достаточно для количества проектов в работе, но со временем объемы производства росли, а система разработки и поддержки сайтов на базе Canape CMS 2.0 начала морально устаревать. Управление проектами стало занимать очень много времени, и мы поняли, что надо что-то менять.

Дополнительным толчком в этом направлении стал заказ на разработку, управление и техническую поддержку сайтов муниципальных образований, которых насчитывалось порядка 500 штук. Менеджмент нескольких сотен проектов на разрозненных CMS — задача невдохновляющая. Поэтому в 2013 году мы приступили к разработке собственной системы управления целым комплексом веб-сайтов через единую панель управления — Canape SMS.

Что такое Canape SMS?

Ничего общего с короткими сообщениями эта система не имеет. Canape SMS (Site Management System) — система, предназначенная для работы и управления большим количеством веб-сайтов с идентичным или похожим функционалом. Скопление таких сайтов обычно называют кластером, а SMS является единым центром управления этим кластером, его ядро.

Почему мы не взяли готовое решение?

Было бы слишком самонадеянно утверждать, что мы первыми додумались до создания SMS. Откровенно говоря, велосипед мы не изобрели, но имеющиеся на рынке в далеком 2013 году «велосипеды» не в полной мере отвечали нашим потребностям, которые были следующими:

  • быстрое создание сайта по заранее заготовленным шаблонам;
  • автоматическое обновление сайтов в кластере до последней версии CMS;
  • наличие системы резервного копирования с возможностью восстановления проектов;
  • автоматический мониторинг состояния сервера и сайтов;
  • масштабируемость — возможность разворачивания кластеров на 1000 и более сайтов.

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

Этапы разработки и внедрения

2013 год

Пилотная версия системы Canape SMS вышла через 6 месяцев после старта работ. В ней было 2 шаблона: для сайта органов государственной власти и для сайта сельского поселения. На их базе мы создавали типовые проекты.

Система состояла из нескольких модулей, которые решали следующие группы задач:

  • разворачивание типовых площадок, клонирование и группировка сайтов;
  • бэкап и восстановление сайтов;
  • внедрение обновлений на двух уровнях: одновременно для всех сайтов кластера и для каждого сайта отдельно;
  • привязка доменов к конкретным площадкам;
  • формирование очереди задач по сайтам кластера (импорт, экспорт, формирование sitemap и т. д.);
  • мониторинг состояния сервера (на тот момент это был мониторинг дискового пространства сервера и размеров размещенных на нем сайтов).

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

2014 год

На базе Canape SMS развернули и запустили 2 новых кластера:

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

Функционал Canape SMS мы тоже доработали:

  • добавили модуль сообщений, который позволяет модератору кластера делать информационные рассылки для администраторов сайтов;
  • внедрили «спасительную» систему «Удаленные сайты», которая при удалении площадки делала бэкап и переносила сайт во временную «Корзину». Теперь администратору не нужно было рвать на себе волосы, если решение об удалении было принято импульсивно. При необходимости сайт можно быстро восстановить из резервной копии.

2015 год

Canape SMS уже почти полтора года. Возраст солидный, потому мы подарили нашему «чаду» поддержку NGINX, которая позволила нам делать к каждой площадке кластера индивидуальные FTP-доступы для клиентов.

Процесс развития проекта никогда не бывает «безоблачным». Вот и в работе над нашей SMS наступило время внедрять облачные сервисы. Мы честно попытались добавить систему удаленного хранения регулярных бэкапов в сервисе Bitcasa, но в связи с регулярными проблемами со стороны американских разработчиков, вынуждены были отказаться от данного механизма.

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

2016 год

  • Проинсталлирован кластер для типовых сайтов муниципальных образовательных учреждений: школ и детских садов на 400 площадок.
  • Введен в эксплуатацию третий коммерческий кластер на 500 площадок.
  • Разработан и внедрен механизм разворачивания дополнительных клонов площадок непосредственно с рабочего сайта. Основа механизма — виджет, который генерировался в SMS, а затем его код размещался на стороннем сайте. В виджет можно добавлять неограниченное количество сайтов в роли шаблонов, сопровождать их описанием.

В начале 2017 года мы внедрили в базовую версию Canape SMS модуль поддержки SSL-сертификатов и возможность работы в одном кластере сайтов, реализованных на разных версиях PHP.

Canape SMS сейчас

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

  • Создание типовых сайтов (чистых и ненаполненных) для дальнейшей разработки проектов с индивидуальным дизайном и функционалом.
  • Клонирование (это основной инструмент). Сейчас в системе есть набор сконфигурированных и предварительно наполненных площадок-шаблонов. Чтобы создать сайт, достаточно выбрать уже практически готовый вариант, максимально соответствующий конечной цели, и немного его доработать.
  • Бэкап и возможность восстановления отдельных площадок — наша особая гордость — исключает потерю данных и сайтов.
  • Архивирование проектов — удаление ненужных проектов с возможностью восстановить их в любой момент.
  • Импорт/экспорт — сборка файлов и данных с метаинформацией в архив для последующей публикации отдельно взятого сайта на обычном виртуальном хостинге или для переноса на другой кластер под управление Canape SMS.
  • Привязка доменов к проекту, настройка редиректов.
  • Выстраивание в очередь задач, выполняемых по расписанию через планировщик cron: импорт, экспорт, рассылки, формирование sitemap и т. д. (задачи, которые можно задержать, чтобы выровнять нагрузку на ресурсы сервера).
  • Мониторинг состояния сервера — контроль нагрузки, создаваемой отдельными сайтами и конкретными процессами, количества свободных ресурсов сервера.

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

Для чего мы используем Canape SMS сегодня?

  • Для размещения готовых сайтов клиентов. Canape SMS выполняет функции сервера хостинга для сайтов, разработанных на Canape CMS. На данный момент развернуто 3 коммерческих кластера.
  • Для разработки проектов. Мы создаем и собираем сайты в типовой инфраструктуре с небольшим дополнительным функционалом для разработки. Поэтому у нас имеется 2 кластера, один из которых — исключительно для проектов на немецком языке.
  • Как самостоятельную платформу. Наши клиенты получают не просто отдельный сайт, а целую инфраструктуру, чтобы самостоятельно генерировать новые площадки под свои нужды из индивидуально сформированного набора шаблонов. Эти шаблоны можно в два счета превратить в самостоятельные сайты. Созданные таким образом копии обладают всеми преимуществами отдельных сайтов, среди которых — изолированность и возможность дорабатывать функциональные модули. Для этой цели развернуто 3 кластера.

Для каких сайтов можно применять Canape SMS

  1. Сайты филиалов компании.
  2. Сайты представительств по регионам.
  3. Сайты с индивидуальным функционалом в аренду (франшиза).
  4. Развитие дилерских сетей.

Планы на будущее

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

  • модуль автоматической публикации сайта из кластера на сторонний хостинг;
  • система обработки платежей и тарификации места под каждый отдельный сайт в рамках кластера;
  • механизм изменения версий PHP «на лету»;
  • модуль анализа работы сайтов (статистика посещения, аккумуляция данных Яндекс.Метрики и Google Analytics).

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

Зачем веб-студии собственная SMS?

Не у всех веб-студий есть решения, подобные нашему. У небольших компаний в таких инструментах просто нет необходимости, ведь при «бутиковом» подходе, когда каждый новый сайт обладает уникальностью снежинки (что, кстати, не совсем правда, среди снежинок тоже встречаются близнецы), внедрение подобной системы вряд ли окупится. Иначе дело обстоит с крупными компаниями, в портфеле которых сотни и тысячи проектов. Вот лишь несколько задач, которые помогает решить SMS:

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

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

Хотите заказать разработку сайта, продвижение или контекстную рекламу? Свяжитесь с нами по телефону: 8-800-200-94-60, доб. 321 или оставьте запрос на электронную почту manager@web-canape.com.

У вас есть задача для нас?
Пришлите заявку, обсудим и решим!