По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Настроить бэкэнд-службу с нуля сложно. Для облегчения работы можно использовать Firebase, но это не единственное в своем роде решение. В данном материале рассмотрим альтернативные решения бэкэнда для веб-приложений и мобильных приложений. Что такое бэкэнд? Бэкэнд - это программное обеспечение, которое обрабатывает данные мобильного или веб-приложения. Он содержит всю логику доступа и управления данными, к которым обычные пользователи не могут получить доступ. Бэкэнд также отвечает за обработку веб-запросов и веб-ответов. Обычно он известен как часть приложения, которое скрыто от пользователя, и он взаимодействует с фронтэндом (то что пользователь видит), чтобы отобразить запрашиваемые данные. Для создания бэкэнд-решений можно использовать несколько языков программирования, таких как Python, JavaScript и PHP. В дополнение к этим языкам, вы можете использовать серверные фреймворки, такие как Django, NireJS и Laravel, которые обеспечивают «стандартный» способ построения сложных приложений. Чтобы создать пользовательское бэкэнд-решение, требуются хорошие навыки работы с некоторыми из упомянутых выше языков программирования, и, что более важно, много времени. Если вы хотите пропустить этот процесс и сосредоточиться на скорейшем завершении проекта, вы можете использовать готовое к использованию бэкэнд-решение или, если вы предпочитаете модный термин «бэкэнд как услуга» (Baas - Backend-as-a-service). Наиболее популярным сервисом является Firebase, консолидированный продукт, поддерживаемый Google, но у него есть некоторые недостатки: Ограниченная миграция данных Ограниченное хранение данных Больше нацелен на Android (большие улучшения на iOS в последние месяцы) Основная служба не является открытой Для хранения данных приложения и управления ими вы полагаетесь на внешнюю службу Firebase - отличный продукт, особенно если вы только начинаете, но, чтобы иметь выбор, важно знать некоторые альтернативы. 1. Appwrite Appwrite - это комплексное бэкэнд-решение практически для каждого веб- или мобильного приложения, о создании которого вы мечтаете. Он является решением с открытым исходным кодом, имеет нулевые зависимости и легко интегрируется (через SDK) с некоторыми наиболее популярными инструментами и языками. Appwrite - это автономный бэкэнд сервер, который поставляется в виде Docker-образа. Это означает, что ее можно установить в любой ОС, поддерживающей интерфейс командной строки Docker. Эта кроссплатформенная функциональность позволяет запускать Appwrite на локальном рабочем столе или на любом облачном сервере. Appwrite поставляется со встроенной панелью, которая позволяет управлять приложениями как проектами. Каждый проект может интегрироваться непосредственно с вашим приложением. Другие интересные особенности Appwrite: Простота Отличная документация Кроссплатформенность Нулевые зависимости (кроме Docker) 2. Supabase Supabase - это альтернатива Firebase с открытым исходным кодом, которая выполняет повторяющиеся операции CRUD и позволяет сосредоточиться на вашем продукте. Помимо возможности самостоятельного хостинга, Как и Appwrite, Supabase можно развернуть локально. Но в отличии от первого, Supabase также предлагается в облачном варианте. Он предоставляет все бэкэнд-услуги, необходимые для создания продукта. Вот основные: База данных Postgres Идентификация Хранение файлов Автоматически созданные API Вы можете создать учетную запись в GitHub, выбрать бесплатный план и создать приложение за считанные минуты. Supabase поставляется с панелью мониторинга, включающая редактор таблиц (аналогично электронной таблице), встроенный редактор SQL и управление пользователями. Имеется обширная официальная документация, которая позволяет быстро начать разработку приложения на этой платформе. 3. Parse Platform Parse Platform – это полный стек приложений. Его основным продуктом является сервер Parse - бэкэнд сервер с открытым исходным кодом и автономным хостингом, который может быть развернут в любой инфраструктуре, поддерживающей Node.js. Parse Server использует MongoDB или Postgres в качестве базы данных и позволяет использовать собственную инфраструктуру для развертывания внутреннего сервера. Если вы хотите разработать приложение локально, вы можете сделать это с помощью Node. ParseplatformIt имеет несколько SDK с открытым исходным кодом, которые позволяют интегрировать почти все существующие веб-приложения или мобильные приложения за пару команд. Самое интересное в Parse - это широкое сообщество. Они создали множество проектов для расширения функциональности Parse, таких как адаптер MySQL или Live Query for .Net. 4. Cloudboost Cloudboost - это полнофункциональный JavaScript бэкэнд, включающий все инструменты и инфраструктуру, необходимые для создания современных веб-приложений и мобильных приложений. При реализации основных функция вроде поиск или аутентификация пользователей, задачу целостности данных это решение берёт на себя. Все находится на одной платформе, поэтому вы экономите много времени и инвестируете в разработку своего приложения. Главный недостаток: он не является ни открытым, ни бесплатным. 5. Nhost Хотите использовать современный бэкэнд для создания современных приложений? Если да, Nhost то, что вам нужно. Вдохновленный от Firebase, это готовый к производству бэкэнд, который включает базу данных Postgres, Hasura, GraphQL, встроенную аутентификацию и хранилище. Как и в случае с каждым из представленных до сих пор бэкэнд-решений, оно предлагает набор SDK для интеграции вашего приложения. Это решение с открытым исходным кодом, но он предлагает облачную версию, которую вы можете начать использовать бесплатно и выбрать план после того, как вы попробуете его функции. Лучше всего в Nhost то, что у вас есть полный доступ к вашим данным (в отличии от Firebase), и вы можете экспортировать их в любое время. Nhost только становится, и вы можете наблюдать за их прогрессом и статистикой на их сайте. Заключение Backend-as-a-service позволяет делегировать базовае функции приложения и стандартные операции CRUD третьей стороне, чтобы сосредоточиться на создании наилучшего проекта за меньшее время.
img
Предыдущая статья из цикла про протоколы TCP/IP 4 уровня: TCP и UDP тут. Вы должны хотя бы знать о некоторых приложениях, которые можно использовать для управления и контроля сети. Приложение World Wide Web (WWW) используется через веб-браузеры, обращаясь к содержимому, доступному на веб-серверах. Хотя его часто называют приложением для конечного пользователя, вы можете использовать WWW для управления маршрутизатором или коммутатором. Вы включаете функцию веб-сервера в маршрутизаторе или коммутаторе и используете браузер для доступа к маршрутизатору или коммутатору. Система доменных имен (DNS) позволяет пользователям использовать имена для обозначения компьютеров, при этом DNS используется для поиска соответствующих IP-адресов. DNS также использует модель клиент / сервер, при этом DNS-серверы контролируются сетевым персоналом, а клиентские функции DNS являются частью большинства устройств, использующих TCP / IP сегодня. Клиент просто просит DNS-сервер предоставить IP-адрес, соответствующий заданному имени. Простой протокол управления сетью (SNMP) - это протокол прикладного уровня, используемый специально для управления сетевыми устройствами. Например, Cisco поставляет широкий спектр продуктов для управления сетью, многие из которых входят в семейство программного обеспечения для управления сетью Cisco Prime. Их можно использовать для запроса, компиляции, хранения и отображения информации о работе сети. Для запроса сетевых устройств программное обеспечение Cisco Prime в основном использует протоколы SNMP. Традиционно для перемещения файлов на маршрутизатор или коммутатор и обратно Cisco использовала упрощенный протокол передачи файлов (TFTP). TFTP определяет протокол для базовой передачи файлов - отсюда и слово "тривиальный". В качестве альтернативы маршрутизаторы и коммутаторы могут использовать протокол передачи файлов (FTP), который является гораздо более функциональным протоколом для передачи файлов. Оба хорошо работают для перемещения файлов на устройства Cisco и из них. FTP предоставляет гораздо больше функций, что делает его хорошим выбором для конечных пользователей. Клиентские и серверные приложения TFTP очень просты, что делает их хорошими инструментами в качестве встроенных частей сетевых устройств. Некоторые из этих приложений используют TCP, а некоторые - UDP. Например, Simple Mail Transfer Protocol (SMTP) и Post Office Protocol version 3 (POP3), которые используются для передачи почты, требуют гарантированной доставки, поэтому они используют TCP. Независимо от того, какой протокол транспортного уровня используется, приложения используют хорошо известный номер порта, чтобы клиенты знали, к какому порту пытаться подключиться. В таблице 2 перечислены несколько популярных приложений и их известные номера портов. Таблица № 2 Популярные приложения и их известные номера портов Теперь почитайте о том, как происходит полный процесс установления и прекращения TCP соединения.
img
В обычной корпоративной сети доступ к серверам из филиалов организации может осуществляться, чаще всего, подключением к серверам, расположенным в центральном офисе. Но при расположении серверной инфраструктуры в облаке параметры связи рабочих станций с серверами будут зависеть уже не от канала связи от каждого конкретного филиала до центрального офиса, а от канала связи всех отделений организации с ЦОД облачного провайдера, чьими услугами пользуется организация для формирования облачной инфраструктуры. Переход в облака поставил перед разработчиками ПО и сетевыми инженерами ряд новых условий, вызывающих задержку сигнала, которые им приходится учитывать для формирования качественного доступа к данным в облаке. Например, задержка длительностью 500мс приводит к снижению трафика Google на 20%, а задержка в 100мс сокращает продажи Amazon на 1%. Время задержки может быть очень важным аспектом во время работы с виртуальными рабочими столами (VDI), потоковым вещанием, трейдингом, передовыми web-сервисами, базами данных, терминальными приложениями. Но задержка не столь критична для таких сервисов как электронная почта или работа с документами. QoS и SLA Существует проблема обеспечения необходимого качества обслуживания (QoS). Разные виды трафика имеют различные требования к рабочим характеристикам сети. Чувствительность видов трафика была взята из и показана в таблице 1 Таблица 1. Чувствительность различных приложений сетевым характеристикам Тип трафика Уровень чувствительности к сетевым характеристикам Полоса пропускания Потери Задержка Джиттер Голос Очень низкий Средний Высокий Высокий Электронная коммерция Низкий Высокий Высокий Низкий Транзакции Низкий Высокий Высокий Низкий Электронная почта Низкий Высокий Низкий Низкий Telnet Низкий Высокий Средний Низкий Поиск в сети "от случая к случаю" Низкий Средний Средний Низкий Постоянный поиск в сети Средний Высокий Высокий Низкий Пересылка файлов Высокий Средний Низкий Низкий Видеоконференция Высокий Средний Высокий Высокий Мультикастинг Высокий Высокий Высокий Высокий Рекомендации МСЭ-Т по обеспечению QoS для сетей описываются в рекомендациях Y.1540 - стандартные сетевые характеристики для передачи пакетов в сетях IP, и Y.1541 нормы для параметров, определенных в Y.1540. Данные рекомендации важны для всех участников сети: провайдеров и операторов, пользователей и производителей оборудования. При создании оборудования, планировании развертывания и оценке сетей IP, оценка качества функционирования сети все будут опираться на соответствие характеристик требованиям потребителей. Основные характеристики, рассматриваемые в рекомендации Y.1540: производительность сети; надежность сети/сетевых элементов; задержка; вариация задержки (jitter); потери пакетов. Подробнее о данных характеристиках следует прочитать в вышеназванных рекомендациях. В таблице 2 указаны нормы на определенными в Y.1540 характеристики и распределены по классам качества обслуживания (QoS). Таблица 2 - Нормы для характеристик сетей IP с распределением по классам QoS Сетевые характеристики Классы QoS 0 1 2 3 4 5 Задержка доставки пакета IP, IPTD 100 мс 400 мс 100 мс 400 мс 1 с Н Вариация задержки пакета IP, IPDV 50 мс 50 мс Н Н Н Н Коэффициент потери пакетов IP, IPLR 1х10 3 1х10 3 1х10 3 1х10 3 1х10 3 Н Коэффициент ошибок пакетов IP, IPER 1х10 4 1х10 4 1х10 4 1х10 4 1х10 4 Н Примечание: Н не нормировано. Рекомендация Y.1541 устанавливает соответствие между классами QoS и приложениями: Класс 0 приложения реального времени, чувствительные к джиттеру, характеризуемые высоким уровнем интерактивности (VoIP, видеоконференции); Класс 1 приложения реального времени, чувствительные к джиттеру, интерактивные (VoIP, видеоконференции); Класс 2 транзакции данных, характеризуемые высоким уровнем интерактивности (например, сигнализация); Класс 3 транзакции данных, интерактивные; Класс 4 приложения, допускающие низкий уровень потерь (короткие транзакции, массивы данных, потоковое видео) Класс 5 традиционные применения сетей IP. Таким образом некоторые из облачных сервисов вполне могут попадать в классы 0 и 1, а значит следует учитывать время задержки и стараться сделать так, чтобы она не превышала 100 мс. Задержки в сетях Подключение к облаку через VPN аналогично подключению к центральному офису организации по VPN, за исключением лишь того, что если в обычной корпоративной сети все филиалы организации подключались к центральному офису, то теперь подключение филиалов и центрального офиса в том числе будет осуществляться к ЦОД облачного провайдера. Для проверки задержки в большинстве ОС используется команда ping, а для проверки пути прохождения пакета команда tracert, которые подробнее рассмотрим ниже. Предположим, что домашняя сеть является подобием корпоративной сети малого предприятия. В таблице в приложении А собраны данные из статьи с указанием расположения ЦОД. Воспользуемся этими данными чтобы проверить задержку сигнала от текущей домашней сети, расположенной в городе Москва, без учета VPN, до web-сервера некоторых компаний, владеющих, ЦОД, расположенных в разных городах, тем самым проверяя разницу в задержке в зависимости от расположения ЦОД облачного провайдера. Для проверки задержки воспользуемся "Командной строкой" Windows и командами ping и tracert. Команда ping используется для проверки целостности и качества соединения в сети на основе протоколов TCP/IP. Команда tracert строит маршрут через коммутационные узлы между компьютером и конечным сервером и выводит их IP-адреса и время задержки. На рисунках 1 и 2 представлена системная справка по командам, соответственно, tracert и ping. Проведем тест проверки задержки до домена DataLine dtln.ru, расположенного ближе всего к домашней сети (рисунки 3 и 4). Как видно из результатов на рисунке 5.3, было передано и получено 4 пакета объемом 32 байта. Время обмена одним пакетом составило 1 миллисекунду. Команда tracert вывела следующие данные: 1, 2, 3 - номер перехода; <1 мс <1 мс <1 мс время ответа для 3-х попыток (в данном случае все попытки менее 1 мс); 185.3.141.232 IP-адреса (в данном случае IP-адрес домена dtln.ru) Согласно проверке данного IP на сайте 2ip.ru, данный домен базируется по тому же адресу на карте, что и указано в таблице в приложении Б. Таким образом можно сделать вывод, что web-сервер большинства компаний из списка вероятнее всего находится на территории одного из их ЦОД, но даже если и нет, то позволяет сделать выводы о доступности ресурса. Аналогично проверим ping для остальных компаний, результаты представим на рисунке 5.5. В качестве опорного времени задержки будет использовано среднее и максимальное время приема-передачи. Из данных рисунка 5 можно сделать вывод, что среднее значение времени задержки в пределах Москвы из сети, также находящейся в пределах Москвы, чаще всего не превышает 10мс. Можно сравнить данные значения с ping до серверов Amazon Web Services в разных регионах с сайта cloudping.info (рисунок 6). VPN без шифрования теоретически позволил бы сократить эту задержку в связи с использованием "прямого туннеля" между "офисом" и ЦОД. Шифрование будет вносить уже свою задержку, проверить которую в данных условиях нет возможности. В локальных сетях корпоративной сети и сети ЦОД задержка исчисляется в микросекундах. В сети ЦОД предъявляются высокие требования к быстродействию сети, современные решения Ethernet для ЦОД должны быть широкополосными и поддерживать скорости 10, 25, 40, 50, 100 Гбит/с, обеспечивать низкие задержки до 1-2 мкс для связи серверов (через три коммутатора), и многие другие. Скорость интернет-канала Передача видео через сети связи, будь то видео с камер наблюдения или же видеоконференции, являются одними из самых требовательных с скорости передачи данных. Если для работы с документами может быт достаточно скорости в 100 Кбит/с, то для передачи видео понадобится уже примерно 2 Мбит/с. Для некоторых приложений, таких как IP-телефония, желательно, чтобы уровень задержек был низким, а мгновенная пропускная способность канала была больше определенного порогового значения: не ниже 24 Кбит/с для ряда приложений IP-телефонии, не ниже 256 Кбит/с для приложений, обрабатывающих видеопоток в реальном времени. Для некоторых приложений задержки не так критичны, но, с другой стороны, желательна высокая пропускная способность, например, для передачи файлов. Например, компания Ivideon предлагает услуги облачного видеонаблюдения, и у них на сайте даются следующие требования к интернет-каналу для разного качества видеопотока. Данные представлены в таблице 3. Таблица 3 Требования к интернет-каналу для одной камеры видеонаблюдения при разных разрешения при частоте 25 кадров/сек Разрешение Качество изображения Рекомендуемая скорость 1280х720 (1Mpx) /25к/с 1 Мбит/с 1920x1080 (2Mpx) /25к/с 2 Мбит/с 2048x1536 (3Mpx) /25к/с 2 Мбит/с 2592x1728 (4Mpx) /25к/с 2 Мбит/с Но для работы с терминальными сессиями достаточно канала в 128-256 Кбит/с на пользователя. Для 50 пользователей понадобится 6.25 Мбит/с. Компания 1cloud.ru при выборе ширины канала связи предлагает скорость соединения в диапазоне от 10 до 100 Мбит/с для доступа к виртуальному серверу. Внутри облака сетевые соединения между виртуальными машинами имеют пропускную способность в 1 Гбит/с. RDP-сессия Для теста потребления трафика при использовании удаленного подключения RDP был проведен эксперимент. Два персональных компьютера находятся в одной локальной сети и подключены к интернету. Один выступает сервером удаленного доступа, второй подключается к нему посредством встроенной в Windows программы "Подключение к удаленному рабочему столу" по протоколу RDP. На сервере запускается видео в интернете. Для захвата трафика и анализа используется ПО Wireshark Параметры подключения: размер удаленного рабочего стола 1920х1080 глубина цвета 15 бит выбранная скорость соединения 56 Кбит/с дополнительные возможности отключены (рисунок 7) Wireshark программа для захвата и анализа сетевого трафика. Данная программа работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс, и мощнейшую систему фильтров. Во время подключения к удаленному рабочему столу программа замеряла отправленные и поступившие пакеты данных. Эти пакеты были отфильтрованы по IP-адресу сервера, а также по протоколу RDP. Интерфейс программы представлен на рисунке 8. График ввода/вывода данных по IP-адресу сервера по протоколу RDP представлен на рисунке 9. На графике на рисунке 9 видно два "всплеска" данных, т.е. две сессии подключения к серверу. Во время первой сессии проводилась работа с тяжеловесным графическим приложением. Во время второй сессии было включено видео, затем производился web-серфинг в браузере машины с некоторыми графическими материалами на странице. Как видно по графику, в пиковый момент была передача данных 5.5 Мбит/с. В последние моменты web-серфинга 0,65 Мбит/с. Таким образом можем сделать вывод, что протокол RDP не укладывается в ранее заявленный диапазон до 128 Кбит/с. Однако стоит учитывать, что RDP-сессия изначально очень требовательна к сети и является, по сути, передачей видеотрафика. Общедоступной информации в сети для анализа влияния облачной инфраструктуры на сеть, по крайней мере в русскоязычном сегменте интернета, чрезвычайно мало. Исследований по теме облачных вычислений недостаточно для заключения результата, и, в основном, это анализы финансовых затрат или производительности серверов. Наиболее подходящей темой для дискуссий на тему влияния облачной инфраструктуры на сеть могут служить только качество обслуживания (QoS) и договор о предоставлении услуг SLA, но данные темы слишком обширны и требует более углубленного внимания, а вопросы, связанные с ними, требуют внимания соответствующих специалистов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59