Разнообразие досок объявлений иногда поражает. На первый взгляд, не всегда очевидно, что портал, по сути, является доской объявлений. Например, сайты по трудоустройству типа grc.ua (бывший hh.ua) или фрилансерские сайты, такие как kabanchik.ua, по своей сути, являются досками объявлений. Таких примеров можно найти очень много, определяющим фактором является идентичная суть технического ядра системы: предоставление площадки для взаимодействия пользователей двух типов: создающих предложение и создающих спрос.
Что Важно понимать, планируя разработку доски объявлений
Если доска объявлений делается не для ограниченной аудитории, то количество пользователей и объявлений на ней исчисляется миллионами. Следовательно, необходима техническая база, способная справляться с такой нагрузкой и обеспечить быструю скорость работы такого сайта.
Если этого не учесть, то сайт не справится с посещаемостью, будет сильно тормозить и будет очень уязвим для DDOS-атак.
Мы располагаем технической базой, которая сможет справляться с 5000 одновременных обращений к серверу без потерь скорости на сервере средней мощности.
Это, наверное, самый сложный вопрос для владельца доски объявлений. По опыту наших наблюдений, владельцам часто сложно удержаться от сбора максимальной выгоды для себя. Так, часто доску объявлений завешивают всеми видами рекламы, продают десятки закреплений в топе, обесценивающих сами себя, и прочее.
В случае с доской объявлений, всегда есть три стороны: продавец, покупатель, владелец площадки. И постоянно нужно учитывать интересы всех сторон. Если одной из них станет не выгодно или неудобно, то она может уйти. А успех такого проекта невозможен без одной из сторон.
Стоимость создания доски объявлений
Минимальный объем работ
Минимальная оценка доски объявлений учитывает работы по проектированию интерфейсов, дизайну, верстке и программированию функционала для следующих типов страниц системы:
- Глобальные настройки системы
- Управление администраторами
- Управление клиентами
- Управление категориями (рубриками)
- Управление меню
- Управление текстовым контентом
- Модерация объявлений
- Управление системными сообщениями
- Аналитика
- Главная страница
- Категория / рубрика объявлений
- Страница объявления
- Страница создания объявления
- Регистрация и авторизация
- Личный кабинет клиента
Преимущества разработки доски объявлений в WEB ROOM
Отзывы о нашей работе
Процесс разработки доски объявлений
Мы изучаем суть проблем компании с оборотом данных и бизнес-процессами. Выясняем пожелания заказчика. На основании этой информации мы предлагаем стратегию решения поставленных задач. После согласования стратегии мы составляем функциональное задание, которое включает в себя список основных и сопутствующих интерфейсов будущей системы учета и кратко описываем их назначение. На основании функционального задания мы можем предположить стоимость и сроки реализации системы.
После утверждения функционального задания подписывается договор на разработку Технического задания (High Level).
Разработка технического задания для CRM-системы включает в себя прототипирование интерфейсов системы и описание всего функционала.
На основании технического задания мы определяем стоимость и сроки реализации проекта, а также вероятную погрешность в оценке.
Совместно с заказчиком определяем MVP (Minimum Viable Product – минимально жизнеспособный продукт). Другими словами, определяется минимально-возможный функционал для запуска системы. Запуск MVP очень важен для систем с многомесячной реализацией: не только для того, чтобы как можно быстрее дать заказчику возможность окупать свои инвестиции, но иногда при тестировании MVP становятся очевидными ошибки в постановке задачи разработчику, и это требует корректировки функционального задания.
Разработка системы начинается с отрисовки дизайна. Дизайнер рисует часть страницы в нескольких вариантах и показывает Вам. После утверждения концепции, дизайнер дорисовывает одну страницу целиком и еще раз показывает заказчику целостный вид выбранной концепции. После утверждения рисуются остальные страницы системы.
После утверждения дизайна наши программисты приступают к самой сложной и длительной работе по автоматизации Ваших задач и созданию органов управления системой.
Когда система готова, мы тестируем ее и запускаем.
Как мы делаем доски объявлений?
Для разработки доски объявлений мы пользуемся стандартным набором технологий WEB-разработок, а именно: PHP, MySQL, JavaScript, HTML, CSS. Это дает Вам независимость от разработчика, систему сможет поддерживать любой толковый WEB-программист.
Стоит ли использовать готовый движок для доски объявлений?
Это зависит от целей проекта. Если доска объявлений создается под очень ограниченную аудиторию и со стандартным функционалом, то использование готовой системы будет правильным решением, но если у Вас более амбициозные планы, то такой вариант Вам не подойдет.
На что стоит обращать внимание при выборе готовой системы?
Открытый или закрытый исходный код
Если исходный код зашифрован, то дорабатывать систему невозможно. Почти все платные готовые системы, которые продают лицензию, имеют зашифрованный код. Но одни шифруют только часть, защищающую систему от незаконного копирования, а другие шифруют все или почти все. Этот вопрос стоит прояснять сразу.
С какой нагрузкой может справиться доска объявлений?
Лично я не встречал еще ни одной «коробочной» системы любого назначения, готовой к большим нагрузкам. Это своего рода масс-маркет, и от него не приходится ждать высоких технических показателей. Однако, некоторые разработчики движков пишут, что система готова к большим нагрузкам. В частности, на сайте одного движка написано следующее: «при равномерной нагрузке доска объявлений способна выдержать более 50 тыс. пользователей, 500 тыс. сессий в день при 1,5 млн. активных объявлений».
Попробуем разобраться, исходя из этих данных, готова ли система к нагрузкам.
Для начала нужно понять, что создает нагрузку.
У нас есть база данных, в которой хранится 1,5 млн. объявлений, представим их в виде архива. Есть сервер, который мы представим в роли архивариуса. И есть программный код, который мы представим в виде инструкции для архивариуса.
Итак, открывая страницу категории объявлений, на которой должно отображаться 20 объявлений, серверу нужно понять, какие именно 20 объявлений из 1,5 млн. нужно показать. Он берет инструкцию и начинает собирать нужный контент. От того, насколько толковой будет эта инструкция, зависит, сколько времени он потратит на подбор нужного контента. Также у нас есть ограниченные возможности архивариуса, выраженные в параметрах процессора сервера. Частота процессора отвечает за скорость работы архивариуса, а количество ядер (вычислительных потоков) – это, по сути, количество архивариусов, которые могут параллельно обрабатывать несколько обращений. Тут важно понимать, что несколько архивариусов не могут помочь быстрее обработать один запрос, это именно параллельная обработка разных запросов.
Надеюсь, что аналогия получилась понятной, и теперь мы можем приступить к вычислениям.
Нам пишут о 50 тыс. пользователей и 500 тыс. сессий в сутки. Ни то, ни другое не является параметром, говорящим о нагрузке. У пользователя может быть целый день открытым сайт, но он с ним не работает. То есть, фактически он на сайте, но обращений к серверу не делает. В рамках одной сессии (от открытия до закрытия сайта) пользователь может сделать много обращений к серверу. В данном случае, нас интересует количество обращений или так называемых хитов.
Нам ничего не остается, кроме как предположить, что имелось в виду 500 тыс. обращений. Это 5,8 обращений в секунду.
В описании указано, что у процессора 8 вычислительных потоков, но не указана частота.
Разделим 5,8 обращений в секунду на 8 потоков и получим, что одно ядро за секунду обрабатывает 0,7 обращений. То есть, среднее время ответа сервера (время обработки программного кода, сбора контента, и отправки в браузер пользователя) составляет 1,4 с.
Дальнейшее усугубление ситуации происходит довольно просто. При одновременном обращении 8 пользователей, сразу в работу включаются все ядра и освободятся они через 1,4 секунды. Если появляется 9 запрос, то он становится в очередь и девятому сервер ответит уже примерно через 2,8 секунды. Так при росте посещаемости сайт начинает замедляться до тех пор, пока сервер не перестает отвечать части пользователей (выдает ошибку 500), либо пока вообще не «падает».
Подобный показатель мы считаем большой проблемой, а не готовностью к нагрузкам. Но просмотрев глазами несколько сайтов, созданных на этом движке, мы увидели более печальные показатели, хотя мы не знаем о количестве серверных ресурсов этих сайтов и их нагрузке.
Почему мы можем видеть такие странные и неполные описания результатов нагрузочного тестирования?
Мы и наши коллеги подвержены проф. деформации. Иногда мы думаем, что то, что для нас очевидно, является очевидным для всех и описываем что-то не полным или сложным образом. Но если описанное не понятно даже специалисту, то, на мой взгляд, это намеренное введение в заблуждение.
Теперь о том, что мы считаем хорошим показателем, на примере наших достижений:
100 запросов в секунду (более 8,5 млн. запросов в сутки) со временем ответа сервера порядка 40 миллисекунд на виртуальном сервере стоимостью 10 USD/месяц (4 ядра по 3,3 ГГц).
Так как же понять, с какой нагрузкой справится система?
Выход только один – проводить свое нагрузочное тестирование. Можно написать программу, которая сгенерирует нужное количество контента и проведет имитацию нагрузки на сервер.
Чем грозит не выяснение этого вопроса?
Вы можете заниматься развитием проекта, вкладывать деньги в маркетинг, и в один прекрасный момент система «ляжет». Для оперативного решения вопроса Вам придется докупать серверные ресурсы. И вполне возможен сценарий, что купив готовую систему за 1500 USD, Вы будете платить 3000 USD в год за сервера.
Однажды к нам обратился заказчик, у которого сайт начал падать от нагрузки, и у него уже была максимальная конфигурация сервера. И быстро помочь в этой ситуации не получится. Повезет, если сайт придется выключить на неделю, а может, и на несколько месяцев. И соответственно, будут большие потери, как финансовые, так и репутационные.
Лицензионные условия
Иногда лицензионные условия использования системы противоречат рекламным заявлениям.
Так, например, на сайте системы может быть указано, что вы можете ее дорабатывать, а в лицензионных условиях это запрещается.
Также обращайте внимание на то, становитесь ли Вы владельцем системы и можете распоряжаться ей, как Вам угодно, или Вы получаете право на использование в определенных рамках, а владельцем остается разработчик.
Отзывы
Рекомендуем поискать в сети отзывы о системе. Особенно уделите внимание отзывам о безопасности.
Однажды к нам за доработками обратился клиент с доской объявлений, созданной на одном из популярных специализированных движков. Разработчик движка отказался поводить доработки и у них возник конфликт. Помочь в той ситуации мы не могли, поскольку 90% программного кода было зашифровано, зато мы стали свидетелями интересных событий. Судя по всему, в системе было множество бэкдоров (возможность получать контроль над системой без логинов и паролей). И каждый день происходили сбросы данных и настроек, а потом вообще оказался заблокированным раздел с настройками. И ни смена доступов, ни восстановление резервной копии не помогали, поскольку через несколько часов все опять сбрасывалось и блокировалось.
Помимо того, что разработчик, таким образом, не давал продолжить работу с системой, система содержала персональные данные клиентов, которые они указывали при регистрации, и, соответственно, нет никакого договора о неразглашении персональных данных с разработчиком, который несанкционированно получает доступ к этой системе, что подставляет владельца системы под юридическую ответственность.
Будьте внимательней, выбирая себе техническую платформу для доски объявлений.
Остались вопросы?
Если вы хотите получить консультацию или узнать немного больше о наших услугах, пожалуйста, напишите нам, и кто-то из нашей команды свяжется с вами в ближайшее время.