По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Функция как сервис или FaaS (Function as a service) это относительно новомодный термин, которым определяется возможность бессерверного запуска кусков кода, что дает возможность разработчикам писать и обновлять эти куски кода на лету, которые будут запускаться в результате отклика на какое-нибудь событие, к примеру, когда пользователь нажмет на элемент в веб-приложении. Благодаря этому масштабировать код и внедрять микросервисы становится на порядок проще. Что такое микросервисы? Небольшая аналогия: представьте себе большое полотно от известного художника - в нашем случае это будет веб-приложением. А теперь представьте себе большое произведение искусства, которое составлено из кусочков мозаики - причем каждый кусочек можно достать, немного модернизировать и починить, что практически невозможно в случае цельного веб-приложения. Такой подход к написанию приложения из набора модульных компонентов известен как микросервисная архитектура. Причем подобный подход довольно тепло воспринимается разработчиками, так как они могут создавать и модифицировать маленькие куски кода, которые относительно легко имплементировать в структуру приложения. Причем в монолитном приложении совершенно обратная ситуация, когда это приложение является огромной и экстремально сложной системой, где изменение одного из элементов может порушить его работу и процесс внесения изменения приближается по сложности к запуску шаттла. Таким образом, использование FaaS многократно снижает сложность внесения изменений и запуска нового кода, что дает возможность разработчикам сосредоточиться на самом коде, в то время как FaaS провайдер будет следить за нужным количеством вычислительных ресурсов и различных бэкэнд сервисов. Какие плюсы такой технологии? Увеличенная скорость разработки С FaaS разработчики могут тратить больше времени на логику приложения и не думать о том, куда и как это приложение воткнуть, что как правило ведет к более высокой скорости написания и имплементации кода. Bстроенная масштабируемость Так как FaaS платформы сами по себе легко масштабируемы в автоматическом режиме, разработчикам не нужно думать о моментах, в которые производительность приложения может пострадать - например, в различные часы наибольшей нагрузки. Всю заботу о масштабируемости возьмет на себя облачный провайдер. Оптимизация затрат Знаете, какой самый большой страх пользователя облачных серверов? Что вы наберете кучу серверов, а необходимой нагрузки не будет, что повлечет за собой в пустую простаивающие мощности. Логично, что появилась такая модель как FaaS, которая позволяет заказчикам платить только за то время, когда вычислительные мощности действительно работают. Какие минусы технологии FaaS? Снижение степени контроля системы в общем Учитывая, что всю заботу за железо, оркестрацию и прочее берет на себя провайдер, отладка кода и понимание цельной картинки может быть нетривиальной задачей - поэтому многие все еще предпочитают действовать по классической модели. Процесс тестирования становится гораздо сложнее Впихнуть невпихуемое, а именно микросервисное приложение (или целый комплект таких приложений) в локальное окружение для тестирование становится нетривиальной задачей, и часто начинают требоваться люди с нетривиальным опытом и экспертизой. Как начать использовать FaaS? Вам нужно начать переговоры с облачными провайдерами, которые предоставляют подобные сервисы - все просто. В первую очередь нужно будет понимать где будут располагаться ЦОДы провайдеры - так как в случае большого расстояния между ЦОДами могут начаться непрогнозируемые и странные проблемы. Список из таких провайдеров не велик, но всем хорошо знакомы эти имена: AWS (проект Lambda), Microsoft (Azure Functions) и Yandex Cloud Functions. Но в России выбор будет практически очевиден в пользу Яндекса, так как его сервера находятся ближе всего к нашей большой стране.
img
Firebase - это платформа для разработки приложений, запущенная в 2012 году и двумя годами позже приобретенная Google. Изначально Firebase задумывалась как база данных для приложений реального времени, но Google увидел ее потенциал и решил добавить к ней дополнительные сервисы. В настоящее время Firebase представляет собой систему BaaS (Backend as as Service) для упрощения создания веб-приложений и мобильных приложений с 18 службами. Среди компаний, использующих услуги BaaS Firebase, - Accenture, Alibaba Travels, Stack, Twitch и Instacart, а также более 2300 других. Преимущества использования Firebase Первой из услуг, предлагаемых Firebase, была база данных в реальном времени, и она остается одной из самых привлекательных. Real-time базы данных Firebase размещаются в облаке, хранят данные в формате JSON и синхронизируются в реальном времени с каждым подключенным к ним клиентом. Независимо от того, используете ли вы iOS SDK, Android SDK или JavaScript SDK, все приложения, подключенные к Realtime базе данных Firebase, совместно используют один экземпляр базы данных, всегда работают с последними данными. Cloud Firestore - еще один интересный сервис Firebase. Это NoSQL база данных документов, предназначенная для облегчения хранения, синхронизации и выполнения запросов для мобильных и веб-приложений в глобальном масштабе. Создание иерархий для хранения связанных данных и запросов для получения данных позволяет полностью реализовать потенциал Cloud Firestore. В свою очередь, запросы масштабируются в зависимости от размера результатов, а не от размера набора данных. Это позволяет приложениям масштабироваться с самого начала, не дожидаясь момента, когда запрашиваемые ресурсы превысят имеющиеся. В дополнение к вышеупомянутым службам баз данных Firebase также предлагает услуги хостинга, хранилища файлов, функции (в стиле AWS Lambda) и многое другое. Создание API API-интерфейсы - это способ предоставления услуг для использования вашими собственными или сторонними приложениями. Firebase позволяет предоставлять настраиваемые службы, которые, в свою очередь, используют собственные службы Firebase, без необходимости настраивать серверную часть для этих служб. Вы можете, например, предложить доступ к базе данных Firebase в реальном времени для сторонних приложений для запроса информации, собираемой промышленными датчиками. Первым шагом в создании API в Firebase является доступ к консоли Firebase и добавление проекта, нажав «Добавить проект» (Add project) и присвоив название новому проекту. Google предоставит вам возможность включить Google Analytics для вашего нового проекта. Рекомендуется принять эту рекомендацию, так как вы получите такие преимущества, как A/B-тестирование и широкий спектр статистических отчетов относительно вашего API. После создания проекта вы сможете выбрать службы Firebase, которые будет использовать ваш API. Чтобы проиллюстрировать эту задачу, мы разберём, как использовать службу базы данных Firebase Realtime. Настройка базы данных реального времени в Firebase На панели навигации слева в разделе «Разработка» (Develop) щелкните «Realtime Database». Справа появится кнопка «Create Database». Нажмите на нее, чтобы создать свою первую базу данных в Firebase. Затем вам нужно будет выбрать один из нескольких вариантов географического местоположения для вашей новой базы данных. Выберите тот, который ближе всего к вашим пользователям. Это важный аспект для минимизации задержки вашего API, особенно для приложений реального времени. Следующим шагом является настройка основных правил безопасности для вашей базы данных. Вы можете выбрать заблокированный режим, а затем назначить права доступа по мере необходимости или выбрать тестовый режим, который разрешает все операции чтения и записи. Для начала, чтобы не усложнять свою жизнь настройками безопасности, можно выбрать тестовый режим. А правила безопасности можете настроить позже. Как только вы закончите настройку своей базы данных, соответствующий API также будет добавлен в разделе API and Services в консоли Google Cloud Platform. Программирование Firebase API На данный момент у вас уже есть основные элементы вашего проекта, настроенные в консоли Firebase. Следующим шагом будет написание кода API. Для этого вам нужно будет инициализировать хостинг и функции Firebase на вашем локальном компьютере. Вы можете установить firebase-tools с помощью npm: npm install -g firebase-tools Затем вы можете войти в firebase и инициализировать свой проект с помощью следующих команд: firebase login firebase init Отобразится экран приветствия, в котором Firebase укажет папку папке, в которой будет храниться ваш проект, и появится меню параметров. В этом меню выберите Functions and Hosting (опция «Хостинг» позволит вам иметь собственный URL-адрес для API). Затем выберите из списка приложение Firebase, которое вы создали ранее, после чего вы должны выбрать язык для использования. Для разработки веб-API вы можете выбрать JavaScript. Если вы будете использовать зависимости пакетов, установите их с помощью npm внутри папки функций. Затем вы можете начать писать код для своих функций. Не забудьте включить пакеты firebase-functions и firebase-admin наряду с другими пакетами, которые вам нужны: import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; Чтобы использовать базу данных в реальном времени, вы должны указать ее URL при инициализации вашего JavaScript SDK. URL-адрес находится в разделе Realtime Database консоли Firebase. Вы можете узнать его по формату: https://<database-name>.<region>.firebasedatabase.app Вы можете использовать следующий фрагмент кода для инициализации вашего SDK, заменяя данные на свои: var config = { apiKey: "apiKey", authDomain: "projectId.firebaseapp.com", databaseURL: "https://databaseName.firebaseio.com", storageBucket: "bucket.appspot.com" }; firebase.initializeApp(config); var database = firebase.database(); После того, как написали код функции API, пора приступить к развертыванию. Но перед этим нужно будет внести некоторые изменения в firebase.json, добавив следующие строки, измененные в соответствии с конфигурацией нашего проекта: "rewrites": [ { "source": "/api/v1/**", "function": "webApi" } ] Следующий шаг - развертывание. В первый раз нужно выполнить полное развертывание, выполнив команду: firebase deploy При последующих развертываниях вы сможете развертывать только функции, используя параметр –only functions. После выполнения команды Firebase CLI в терминале отобразит URL-адреса HTTP эндпоинтов ваших функций, которые вы можете использовать для вызова ваших API-интерфейсов из веб-приложения. URL-адрес содержит идентификатор вашего проекта и регион для функции HTTP. Например, следующий URL-адрес можно использовать для вызова функции запроса элемента, передав его itemid = 1 в качестве параметра: https://us-central1-apiproject-8753c.cloudfunctions.net/itemQuery?itemid=1 Чтобы выполнить функцию, откройте URL-адрес с соответствующими параметрами в браузере. Обратите внимание, что для развертывания в производственной среде требуется подписка на план Firebase Blaze. Данный план снимает деньги по мере использования, о чем вы можете прочитать на странице цен на Firebase. Это услуга выставляет счет по факту использования, что означает, что вам выставляется счет за использование в конце каждого месяца. Если у вас нет подписки на Blaze, команда развертывания не отобразит URL-адрес для API. Вместо этого вы увидите сообщение, информирующее о том, что вы должны подписаться на план Blaze, если вы хотите выполнить развертывание в среде выполнения. В этом случае вы все равно можете использовать Firebase Local Emulation Suite для создания и тестирования приложений на локальном компьютере вместо их развертывания в производственной среде Firebase. Локальное тестирование полезно, чтобы избежать ненужных затрат во время разработки приложения, поскольку каждый запуск теста может приводить к расходам на вашем счете. Локальное тестирование и прототипирование Инструмент Local Emulator Suite предлагает интегрированный пользовательский интерфейс, который делает упрощает создание прототипов и тестирование ваших приложений на локальном компьютере. С помощью пользовательского интерфейса Emulator Suite вы можете тестировать проекты своей базы данных, рабочие процессы облачных функций, анализировать производительность серверных служб и оценивать изменения в правилах безопасности и пр. По сути, это безопасная песочница для проверки функциональности вашего API перед отправкой в производственную среду. Чтобы эмулировать свои функции или протестировать приложение локально, запустите эмуляторы firebase: start. Чтобы использовать эмулятор Firestore, на компьютере должна быть установлена Java. При вызове Firestore Emulator, команда вернет URL-адрес, который позволит вам открыть пользовательский интерфейс Emulator Suite в вашем браузере. По умолчанию этот URL-адрес будет localhost: 4000, но он может отличаться на каждой машине. Вы также получите полный URL-адрес своей функции HTTP. Этот URL будет выглядеть примерно так: http://localhost:5001/apiproject-8753c/us-central1/itemQuery Только он будет иметь имя вашего проекта, имя вашей функции, а также может иметь другой номер порта на вашем локальном компьютере. Чтобы протестировать функцию, скопируйте URL-адрес, возвращаемый эмулятором, добавив все необходимые параметры (например, ?itemid = 1), и откройте в новой вкладке браузера. Результаты выполнения API появятся в пользовательском интерфейсе Emulator Suite. На вкладке «Logs» вы увидите новые логи, указывающие, что функция itemQuery() была выполнена. Если ваша функция генерирует новые данные в базе данных Firestore, вы увидите их на вкладке Firestore. Расширение возможностей вашего API Если вы хотите, чтобы разрабатываемые вами API стали популярными, Firebase может помочь и с этим. Не только потому, что это позволяет вам быстрее создавать приложение, снимая много работы по настройке и запуску серверных сервисов, но также помогая вам в позиционировании вашего продукта. Как такое возможно? Просто потому, что приложения, связанные с Firebase, занимают более высокие позиции в поисковом рейтинге, чем другие приложения. Также примите во внимание API индексирования приложений Firebase. Этот инструмент улучшает поисковый рейтинг ссылок приложений и помогает пользователям находить желаемый контент. Он также помещает кнопку "Установить" после кнопки на главной странице вашего приложения, чтобы заинтересованные пользователи всего за один клик могли пользоваться вашим приложением. В заключение отметим, что Firebase не только предлагает услуги бэкэнда, которые значительно ускоряют разработку собственного API, но и помогает продвигать его и зарабатывать на этом деньги.
img
Если вам захотелось автоматизировать рутинные задачи по управлению сетью - присмотритесь к Puppet Почему и зачем? В последние десятилетия развитие компьютерных сетей достигает небывалых масштабов. Рост крупных корпораций приводит к тому, что в отдельные сети объединяются сотни и тысячи машин, и это не считая глобальной сети. Темпы этого развития ускоряются с появлением новых программных продуктов, которые позволяют в разы ускорить процессы развертывания и обслуживания сети. Десятки тысяч операций, которые раньше выполнялись вручную, сейчас выполняются за считанные минуты в автоматическом режиме. Одним из таких программных решений стал продукт Puppet. В этой статье мы постараемся подробно осветить плюсы и минусы этой программы. Что же такое Puppet? Как говорит нам Википедия, это кроссплатформенная система управления и конфигурирования операционных систем, построенная на основе клиент-серверной архитектуры. Если говорить проще - это и есть та самая программа, которая позволяет конфигурировать операционные системы для развертывания, управления и обновления компьютерных сетей на десятках, сотнях и тысячах удаленных машин. Под кроссплатформенностью в данном случае понимается то, что клиентская часть программы полностью совместима и корректно работает на широком спектре самых распространенных операционных систем, что позволяет объединять в единую сеть рабочие станции под Windows, CentOS и Debian. А теперь давайте рассмотрим плюсы и минусы Puppet - ведь не может же все быть прекрасно и красиво. Кратко о светлых и положительных сторонах решения Автоматизация: как и говорилось выше Puppet позволяет автоматически конфигурировать операционные системы на удаленных машинах, что избавляет системного инженера десятки раз вручную одинаковым образом настраивать машины, выезжая на места. Можно возразить "а что мешает доверить эту работу нескольким специалистам?" Такой вариант тоже возможен, но это повлечет за собой дополнительные расходы, да и общая надежность системы сильно упадет, поскольку каждый специалист пишет код по-своему, из-за этого может пострадать совместимость. Скорость развертывания: автоматизация передачи и применения настроек не только экономит ресурсы пользователя, а еще и ускоряет процесс развертывания и обновления сети в десятки раз. Та работа, на которую ранее уходили дни и недели работы, сейчас выполняется за считанные минуты. Это позволяет разгрузить занятость сетевого инженера и высвободить его время для решения других задач - например, для разработки программного обеспечение или работы с клиентами. Кроссплатформенность: однозначным плюсом этого решения является поддержка различных операционных систем. На заре становления компьютерных сетей невозможность взаимодействия из-за конфликтов кода вынуждало корпорации применять одни и те же операционные системы на всех рабочих станциях компании, что снижало эффективность за счет узкой специализации ОС. Сейчас Puppet позволяет включать в общую сеть компьютеры под различными операционными системами, и обеспечивать их эффективное взаимодействие. Это позволяет увеличить общую эффективность деятельности компании в несколько раз Поддержка: программа достаточно проста в использовании. Однако, иногда возникают проблемы. Puppet имеет техническую поддержку, специалисты которой фиксируют обращения пользователей и работают над исправлением проблем. Продукт развивается непрерывно, поэтому каждая следующая версия работает все более эффективно. Общая безопасность системы: поскольку Puppet обновляет конфигурацию множества узлов системы параллельно, не составляет особых сложностей применить в конфигурировании клиентских операционных систем гибкие настройки безопасности. Это обеспечивает достаточно эффективную защиту данных от внешних угроз. Вы спросите неужели всё так идеально? Добавим в описание ложку дегтя разберем минусы Puppet Квалификация администратора: обслуживание сети с помощью Puppet рекламируется как довольно простое. Однако, обслуживание крупных сетей всегда требует от администратора высокой квалификации и предельной внимательности. Если при составлении файла конфигурации допустить ошибку, и затем не проверить этот файл должным образом, можно одним махом "положить" несколько сотен серверов. Конечно, откат системы к предыдущей конфигурации настроек восстановит ее работу, но в современном бизнесе любая потеря времени чревата крупными убытками компании. Поэтому сетевой специалист должен быть ответственным и внимательным. Несовместимость с некоторыми версиями ОС: так себе минус, скажете вы. Ну кому сейчас потребуется совместимость с ранними версиями Windows NT? Однако, как показывает практика, кое-где такие сервера до сих пор успешно применяются. В основном, это актуально для небольших компаний с невысокой нагрузкой на сеть. Однако, принцип "работает и ладно" неприменим для современного бизнеса, в котором, чтобы оставаться на плаву, нужно непрерывно улучшать свой продукт. Уязвимость сервера Puppet: централизованное управление сетью может легко породить такую проблему. Безопасность сервера должна стоять превыше всего. Если злоумышленник получит доступ к серверу Puppet, то может сконфигурировать клиентские операционные системы так, как ему заблагорассудится. Например, отдать команды на шифрование данных, или же на их удаление. В этом случае убытки компании-пользователя не поддадутся исчислению. Эта проблема решается установкой современных механизмов защиты сервера от внешних угроз. Но, как известно, стоимость защиты информации не должна превышать стоимость самой информации, а значит здесь нужно руководствоваться в первую очередь здравым смыслом и пониманием базовых принципов информационной безопасности. Очевидно, что плюсов больше, чем минусов - но решать всегда только вам. Опять же, Puppet - не единственный игрок подобного класса решений, и всегда имеет смысл посмотреть и попробовать все, что доступно на рынке - ведь вы никогда не ошибетесь, если поступите правильно :)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59