Обзор стартапов AWS: Datapath.io

Логан Ривенс, Datapath.io

Интернет нужно оптимизировать.

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

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

Проблема

Проблема двоякая: скорость интернета и стоимость интернета.

Проблемы с задержкой и пропускной способностью могут снизить скорость интернет-соединения с CDN или пользователем. В настоящее время трафик маршрутизируется через Интернет с помощью протокола пограничного шлюза (BGP), который использует наилучший логический путь. Однако логический путь не обязательно является самым быстрым; например, у пути BGP может быть задержка выше оптимальной или недостаточная пропускная способность.

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

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

Общее решение

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

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

Решение Datapath.io

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

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

Правила трафика позволяют указать, как оптимизировать трафик. Вы можете оптимизировать свой трафик на основе задержки, пропускной способности или стоимости.

Для создания и развертывания нашего решения Datapath.io использует инфраструктуру AWS для хостинга, резервного копирования, развертывания и Direct Connect. Простота использования и интеграции сделали работу с AWS отличной. В частности, мы используем следующие сервисы AWS:
Amazon S3
Amazon EC2
Elastic Load Balancing
AWS Direct Connect

Инфраструктура AWS предоставила нам инструменты для создания нашего решения и его развертывания для наших клиентов. Мы также воспользовались программой AWS Activate.

В процессе выявления проблемы интернет-трафика и создания решения Datapath.io мы узнали несколько вещей, которыми мы хотели бы поделиться.

Что узнал Datapath.io

Мы многому научились в процессе создания решения Datapath.io за последний год.

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

Масштабируемость

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

Система Datapath.io построена как распределенные микросервисы с моделью обмена сообщениями. Мы используем RabbitMQ в качестве модератора среды микросервисов. Мы экспортируем и храним наши результаты в файловой системе Hadoop как HDFS. Затем мы используем Apache Spark для выполнения наших вычислений больших данных. Эта установка позволила создать горизонтально масштабируемую систему, в которую мы можем легко интегрировать дополнительные хранилища и вычислительные мощности с очень небольшими дополнительными затратами.

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

Зрение

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

В Datapath.io мы чувствовали боль от того, что не смогли полностью донести наше видение до всех в нашей организации. Мы осознали важность того, чтобы все вместе двигались в одном направлении.

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

Гибкий

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

Когда мы только начинали, мы думали, что «Agile» в основном означает «открытое общение». Мы узнали, что это гораздо больше.

Для Datapath.io переход к Agile-процессу означал внедрение набора инструментов, организацию задач в спринты, определение ответственности и устранение узких мест в разработке. Это приблизило нас к Agile. Чтобы все эти пункты выполнялись регулярно, мы проводим ежедневные спринтерские встречи.

И последнее, но не менее важное: необходимо все проверить. «Тестируйте рано и тестируйте часто» - вот лозунг нашего процесса разработки.

Опыт

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

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

Персонал

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

Жду с нетерпением

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

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