Как создать альтернативу Google Диск и Dropbox за 3700 часов

в 10:04, , рубрики: artezio, sendfile, Алгоритмы, Анализ и проектирование систем, Блог компании ГК ЛАНИТ, Ланит, передача файлов, файлообменник, метки:

За 8 месяцев разработки, 3700 рабочих часов, силами 15 человек команда Artezio создала собственную файлообменную платформу SendFile. Сначала мы рассматривали ее как учебный проект, но потом она переросла этот статус. В этой статье я расскажу, как все начиналось и к чему мы пришли сейчас.

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 1

Зачем нам это было нужно

Нашей компании Artezio (группа ЛАНИТ) 16 лет, и мы помним времена, когда работу заказчикам приходилось отправлять на дисках бандеролями и заказными пакетами. Представьте, как тяжело было нам и клиентам разбираться в ворохе цифровых носителей! Затем наступило время «небыстрого интернета» и многотомных архивов, которые можно было отправить электронной почтой. Но и она не подходит, если вам нужно переслать большой массив данных. Даже очень либеральные почтовые сервисы не позволят это сделать, а менять настройки корпоративной почты ради этого не имеет смысла.

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 2

Источник

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

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

Мы задумали свой продукт (он получил очевидное название SendFile) как корпоративное приложение с высоким уровнем безопасности и интеграцией с внутренней инфраструктурой компании. В этом плане публичные сервисы типа Google Drive, Yandex.disk или Dropmefiles не представляют интереса. Например, Google Drive есть у любого, кто пользуется почтой Gmail. Это решение отлично с ней интегрировано. Но это же является и слабым местом, потому что требует наличие  Google  аккаунта, что в случае коммерческого использования не всегда удобно.

Сомнения: стриминг и пиратство

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

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 3

Источник

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

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

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

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

Как долго мы создавали свой файлообменник

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

На создание файлообменного проекта всего ушло 3700 часов или 8 месяцев работы. (Первоначальную студенческую разработку мы не считаем.) Из этого времени 64% было потрачено только на разработку, 20% — на тестирование, 16% — на менеджмент и анализ. За это время в работе над проектом поучаствовало 15 человек.

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

Проект разрабатывался в два этапа. Как я уже говорил, в рамках первого — мы создали рабочий прототип силами стажеров Juniors Lab (мы все же взяли их на работу). Вторым этапом стали перспективная доработка, адаптация для коммерческих проектов.

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

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

Мы не забросили развитие проекта и разработали его обновленную версию.  Этот второй этап разработки уже практически закончился.

Первая версия выглядела так.

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 4

А вот обновленная версия.

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 5

Из чего мы сделали файлообменник (объясняем на схемах)

При создании платформы мы не делали упор на какие-то прорывные технологии.  Все довольно обычно, если рассматривать инструменты по отдельности, и интересно, когда смотришь на результат.

Мы использовали  open source фреймворк Spring. В качестве антивирусного решения был интегрирован мультиплатформенный пакет Clam AntiVirus. У команды Artezio хорошая экспертиза в области Java, и мы постарались ее использовать на всех этапах разработки.  

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 6

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 7

Сильные стороны

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

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

Файлообменные решения мы оценили по следующим категориям: наличие мобильного клиента, интеграция с Active Directory, шифрование, защита антивирусом, функция запроса файла, отчет об использовании файла, отчет о сетевой активности, управление передачей большого количества файлов, цена (чем дороже решение, тем ниже оценка).

В таблице ниже — результаты нашего сравнения. Мы вошли в ТОП 9.  

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 8

Подробнее об исследовании файлообменных платформ вы можете прочитать здесь.

В госреестре

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

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

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 9

Источник

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

Будущее, но не для всех...

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

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

Как создать альтернативу Google Диск и Dropbox за 3700 часов - 10

На 16-летии Artezio

Автор: ГК ЛАНИТ

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js