Когда мы начали работу над нашим старт-ап проектом SaleSpring (www.salespring.ru), мы были готовы ко всему, что может встретить на своем пути начинающий ИТ-бизнес, особенно основанный на самофинансировании, то есть, в основном на личном энтузиазме команды.
Несколько слов о нашем проекте SaleSpring. Вот суть проблемы, которую он решает: менеджеры по продажам и маркетингу тратят огромное количество времени и денег на пополнение и актуализацию баз данных потенциальных клиентов и делегатов мероприятий.
SaleSpring дает им возможность сэкономить это время и сократить расходы, поскольку предоставляет доступ к общероссийской маркетинговой базе данных, построенной по принципу краудсорсинга.
Контакты можно получить либо бесплатно, на условиях обмена, либо, если не хочется тратить время на обмен, очень дешево (24 руб/1 контакт выбранной целевой аудитории с прямым рабочим e-mail и телефоном). Использование SaleSpring для получение баз данных деловых контактов:
— в разы дешевле, чем услуги колл-центра и участие в мероприятиях с целью получить какое-то число визиток;
— более качественно, чем приобретение баз с непонятными контактами или общей информацией о компаниях;
— и это экономит время на поиск информации в Интернете с нуля, что может занять 10-15 минут на поиск в Гугле и соц.сетях, и все равно не дать полной контактной информации. А ведь время менеджера по продажам – это деньги компании: как потерянные, так и полученные.
Бизнес-модель SaleSpring – фримиум, то есть основные возможности портала доступны пользователям бесплатно. Принцип пополнения и обновления базы – краудсорсинг, то есть коллективный вклад всех пользователей. По сути, формируется что-то вроде википедии маркетинговых списков для менеджеров по продажам и маркетингу.
Так вот, мы были готовы ко многим сложностям – как техническим, так и по бизнесу. Например, к проблемам с соблюдением сроков разработки, недостатку финансирования на продвижение, проблеме готовности российских маркетологов к инновационному для них продукту и лени менеджеров по продажам, которые любят работать только со входящими звонками от клиентов. Однако были на нашем пути и проблемы, которые в общем были неожиданны. Например,
Сначала мы разместились на
— слой представления: определяет внешний вид веб-портала и задает функциональность, реализующую схему взаимодействия пользователя с системой;
— слой бизнес-логики: реализует основную функциональность системы и инкапсулирует бизнес-логику веб-портала. Например, добавление и обновление контактов и компаний, управление процессом взаимодействия с пользователями, массовый импорт контактов и компаний, ведение истории действий пользователей, экспорт во внешние файлы и др.;
— слой доступа к данным: обеспечивает доступ к данным в источниках данных посредством linq;
— источники данных: базы данных SQL Azure;
— сквозная функциональность: аутентификация и авторизация, кэширование, управление исключениями, связь, протоколирование, валидация.
1. Стресс-тестирование при одновременном большом количестве запросов пользователей, чтобы проверить устойчивость к DDoS атакам.
2. Выполнение тестовых сценариев, имитирующих действия пользователей. Здесь шла проверка работы сайта при одновременной работе нескольких пользователей и замер времени загрузки страниц.
3. Выполнение тестовых сценариев, имитирующих действия пользователей, на длительный период времени. Тесты запускались на период более суток. Это позволяло оценить стабильность системы.
При этом, сайт на российском
Мы затянули пояса потуже и стали искать для SaleSpring более надежный, пусть и более дорогостоящий вариант. Вспомнили по ходу английского реформатора Джона Раскина: «Неразумно платить слишком много, но еще хуже – платить слишком мало. Когда вы платите слишком много, вы теряете немного денег, и это все. Когда вы платите слишком мало, вы иногда теряете все, поскольку то, что вы купили, неспособно делать то, для чего оно было куплено».
Руководствуясь этим, мы были вынуждены найти более качественный и, как следствие, дорогой вариант. Одновременно мы переехали на Amazon и, подав заявку в программу Microsoft BizSpark, стали тестировать Microsoft Windows Azure. Падения на этом завершились, и дальше мы стали смотреть на функционал, проводить нагрузочные тесты, рассчитывать цену и ценность.
Оба
— экономия времени на поиск поставщиков
— отсутствие трудностей при выборе сервера требуемой мощности,
— экономия на административных издержках,
— гибкая ценовая политика,
— возможность распределенных вычислений и так далее.
Для нас как для старт-апа эти возможности оказались чрезвычайно важными, и все они, безусловно, могут оказаться полезными любой компании — независимо от размера и уровня развития. Однако в итоге мы остановили свой выбор на Azure, который обнаружил ряд уникальных преимуществ.
Главное отличие Azure состоит в том, что пользователю передается не сервер, а панель управления службами, то есть развернутыми приложениями, поэтому необходимость в настройках операционной системы, СУБД, веб-сервера отпадает. При этом Windows Azure поддерживает не только .NET приложения, но и Linux на IaaS и PaaS разработку на PHP, Node.js. Ruby.
Панель управления предоставляет возможность подключения к серверу посредством RDP, для того чтобы сделать какие-либо нестандартные настройки при необходимости. У нас такая необходимость возникла. Причина состоит в том, что развертывание приложения из панели занимает гораздо большее время, нежели обычное копирование по FTP. Поэтому пришлось настраивать FTP вручную. Цитирую далее слова нашего технического директора Павла Коломейцева: «Кроме того, в самом веб-сервере нам также нужно было сделать определенную настройку, а при развертывании из панели она выставляется системой по дефолту, поэтому развертыванием из панели мы пользуемся достаточно редко, предпочитая ему FTP. Наверное, для нас использование FTP может быть даже делом привычки. Хочется видеть что вообще лежит на сервере. Или, например, мне нужно залить на сервер только один-два файла. На мой взгляд процесс деплоймента становится более управляемым, когда есть FTP. Если публикация через Visual Studio и приложение Azure достаточно прозрачно и понятно, то в настройки Web Deploy сходу не понятно что писать. Можно разобраться, конечно, но мой выбор все равно – FTP».
Очень впечатлили возможности синхронизации баз данных как внутри Azure, так и находящихся за ее пределами. С помощью встроенного средства синхронизации вы также можете перенести данные из внешней базы данных в SQL Azure. Это средство не только удобно, но и дает «ощущение» того, что данные точно «не потеряются». Или, например, если кто-то недобрый или недобросовестный по какой-то причине их сотрет, то у вас всегда есть их копия.
Очень хорошо продумана возможность масштабирования. Специалисты Windows Azure заявляют, что надежность системы составляет 99,95%, но «всякое бывает» и для бизнес-систем лучше распределять систему между дата-центрами. Развернув копии базы данных в нескольких дата-центрах и настроив диспетчер трафика, вы получите достаточно надежную систему.
Однако есть и нюансы, с которыми нам предстоит еще справиться в ближайшем будущем. В частности, для повышения быстродействия базы данных (времени отклика запроса) специалисты из Azure ISV Incubation, с которыми мы находимся на постоянной связи, рекомендуют, например, использовать шардирование базы данных, когда разные шарды находятся на разных физических железках. Это связано с тем, что в SQL Database время выполнения запросов может меняться в зависимости от того, насколько активно работают с той же самой железкой другие пользователи, т.к. SQL Database является разделяемой (shared) между пользователями «железки». Другие варианты повышения производительности могут быть связаны с использованием кэша и поднятием SQL Server на IaaS инфраструктуре Windows Azure. В общем, будем разбираться и держать хабра-сообщество в курсе новостей. И надеемся, что Microsoft также будет развивать платформу Azure, поскольку преимущества Azur-ного облака дают сильные основания выбирать и рекомендовать его для интернет-проектов.
В наших дальнейших планах, сроки которых зависят от привлечение финансирования, — серьезные доработки по интеграции SaleSpring с различными CRM-ками, почтовиками и другими сервисами, чтобы сделать работу наших пользователей еще более удобной и комфортной во всех средах. Мы верим в победу и сейчас активно занимаемся развитием нашего проекта. Так что – если в вашей компании ведутся продажи для В2В-сектора и есть, куда им расти, или есть маркетологи, которые ищут «лиды» и собирают делегатов на мероприятие, то приглашаем вас воспользоваться нашим сервисом и еще раз напоминаем, что базовые преимущества предоставляются всем бесплатно.
Что в заключении: спасибо нашей замечательной команде за работу! Иногда в совсем непростых условиях вы делали настоящие чудеса=).
Автор: SaleSpring