Использование GraphQL, языка запросов, который обычно используется для загрузки данных с сервера на клиент, стремительно растет. Опрос еще 2019 года показал, что 62.5% разработчиков хотят изучать GraphQL. В настоящее время эта технология все чаще поддерживает известные веб-сайты, включая Facebook, Google, Airbnb и Pinterest.
За годы, прошедшие с тех пор, как Facebook разработал GraphQL внутри компании и передал право собственности Linux Foundation, появились инструменты для упрощения использования языка. Это, например, Apollo, OneGraph (приобретенный Netlify) и Hasura. Hasura, которая сегодня и объявила о привлечении финансирования в размере 100 миллионов долларов при оценке в 1 миллиард от Greenoaks при участии существующих инвесторов Nexus Venture Partners, Lightspeed Venture Partners и Vertex Ventures, предлагает платформу, которая создает API-интерфейсы GraphQL для существующих баз данных, упрощая создание новых или добавления функций в существующие приложения.
GraphQL изнутри
Традиционные базы данных основаны на языке SQL, сокращенно от Structured Query Language. GraphQL — это упрощенный механизм представления запросов к базе данных, в котором перечисляются все нужные поля и добавляются ограничения на определенные данные для сопоставления или поиска. Пользователи GraphQL часто говорят о его простоте и о том, как они могут создавать запросы, которые могут обрабатывать сложные структуры данных. Если данные достаточно просты, чтобы поместиться в одну таблицу, переход на GraphQL, как правило, не принесет много пользы, но если данные включают несколько таблиц, применение технологии может быть очень выгодным.
Hasura со штаб-квартирой в Сан-Франциско и Бангалоре, была основана в 2017 году Раджоши Гошем и генеральным директором Танмаем Гопалом. Гош ранее запустил приложение для доставки еды под названием Kadai и 34 Cross, компанию по разработке продуктов, ориентированную на приложения, веб-сайты и микросервисы. Гопал был ведущим инженером в 34 Cross и в 2012 году запустил свою службу доставки еды The Brass Plate.
«Hasura была запущена в 2017 году как проект с открытым исходным кодом, а ее коммерческое предложение было запущено в 2020 году в начале пандемии, что не повлияло на рост бизнеса», — сказал Гопал. «Hasura разработана, чтобы сделать разработку приложений и API быстрее, чем когда-либо прежде, устраняя узкие места в доступе к данным для frontend и full-stack разработчиков. Платформа сокращает время и знания, необходимые для создания API-интерфейсов GraphQL для доступа к данным, автоматизируя повторяющуюся работу, связанную с сопоставлением моделей с API-интерфейсами, создавая детализированные политики авторизации и безопасности и предоставляя общие шаблоны доступа, такие как разбивка на страницы, фильтрация, объединение разнородных источников, и готовые агрегаторы».
Hasura использует «движок событий» для создания GraphQL API из новых или существующих баз данных. Идея состоит в том, чтобы заменить прямой доступ к базе данных более масштабируемым, производительным и безопасным API для создания «унифицированной и объединенной» основной службы данных. Например, с помощью Hasura разработчики могут указать правила авторизации, чтобы «безопасно» предоставлять API разработчикам внутри или за пределами организации.
Финтех-компания Pipe использовала платформу для выпуска прототипа приложения всего за 11 дней. Pipe подключил Hasura к базе данных для создания API-интерфейсов GraphQL, что, как сообщается, сэкономило время разработки за счет уменьшения необходимости модификации кода каждый раз, когда вносятся изменения в базу данных, и ограничения того, какие данные возвращаются на уровне отдельных столбцов и строк базы данных.
Расширение бизнеса
Hasura открыла исходный код своего программного обеспечения в июле 2018 года, и с тех пор, по словам стартапа, десятки тысяч разработчиков использовали его для выполнения миллиардов вызовов API. Hasura предоставляет услуги в дополнение к бесплатному проекту, а клиентская база расширилась и включает Airbus, Netlify, Atlassian и Walmart.
У GraphQL есть недостатки, такие как дополнительные накладные расходы и обработка для разбора запросов. Как пишет аналитик Gartner Гэри Оллифф: «GraphQL появился как альтернатива REST API. Он обеспечивает гибкость, но создает новые проблемы для доставки API. Технические специалисты, отвечающие за проектирование, интеграцию и управление API, должны оценить преимущества и влияние GraphQL на управление и безопасность».
«Операционные данные все чаще распределяются между несколькими источниками, а разработчики используют данные в небезопасных и неавторизованных вычислительных средах. Hasura решила эти проблемы, предоставив гибкие API-интерфейсы данных, которые могут подключаться к нескольким службам и источникам данных, встраивать логику авторизации для конкретного домена и обеспечивать необходимую безопасность, производительность и параллелизм, в которых нуждаются современные потребители API и приложения», — продолжил Гопал. «Решения Hasura для доступа к данным помогают организациям ускорить выпуск продуктов за счет мгновенного подключения данных и сервисов к приложениям с помощью GraphQL API… Платформа GraphQL скачана более 450 миллионов раз».
Благодаря последнему финансированию общая сумма привлеченных инвестиций компании увеличилась до более чем 136.5 миллионов долларов. Гопал говорит, что эти деньги будут направлены на найм новых работников Hasura, исследования, разработку продуктов и привлечение клиентов.