Thinkstock
Разработчики тратят бесчисленные часы решения бизнес-проблемы с кодом. Затем настал черед команды ОПС потратить бесчисленные часы, во-первых, выяснить, как получить код, который пишут разработчики и работает на любых компьютерах, а во-вторых, убедившись, что эти компьютеры работать бесперебойно. Вторая часть действительно является бесконечной задачей. Почему не оставить эту часть кому-то другому?
Много инноваций в нем за последние два десятилетия—виртуальных машин, облачных вычислений, контейнеры—были сосредоточены на убедившись, что вы не должны много думать о лежащих в основе физической машине, что ваш код работает на. Бессерверную вычислений становится все более популярной парадигмы, которая принимает это стремление к своему логическому завершению: с бессерверную вычислений, вам не нужно знать ничего о железе или ОС кода выполняется на, как все заботятся для вас поставщика услуг.
Что такое независимая вычислений?
Бессерверную вычисления представляют собой модель для выполнения облаке, в котором облачный провайдер динамически назначает—а потом обвиняет пользователя для только вычислительные ресурсы и хранилища, необходимых для выполнения определенной части кода. Естественно, есть еще серверы, но их подготовка и содержание целиком и полностью заботятся поставщиком. Крис Маннс, адвокат для бессерверной Амазонки, заявил на 2017-конференции, что с точки зрения команды писать и развертывать код, “нет серверов или положения. Это включает в себя ничего, что могло бы быть голый металл, ничего виртуального, что контейнер—все, что вы управляете хозяином, ямочный ремонт узла, или дело с чем-либо на уровне операционной системы, это не то, чем ты должен заняться в независимый мир”.
Новый Наш игровой сайт жив! Сайт сайт GameStar обложки игр, игровых гаджетов и снаряжения. Подпишитесь на нашу рассылку и мы пришлем наших лучших материалов прямо на ваш почтовый ящик. Узнайте больше здесь.
Как разработчик Майк Робертс объясняет, этот термин был использован один раз для так называемых фоновых-как-сервис сценариев, где мобильное приложение позволяет подключиться к внутреннему серверу, полностью размещенные в облаке. Но сегодня, когда люди говорят о бессерверную вычислений или бессерверная архитектура, они имеют в виду функцию-как-услуга предложения, в которых клиент пишет код, который только затрагивает бизнес-логику и передает его поставщику. Что поставщик заботится о всех аппаратных средств подготовки, управления виртуальными машинами и контейнерами, и даже задачи, такие как многопоточность, что часто встроены в код приложения.
Данной функции , управляемые событиями, т. е. код вызывается только при срабатывании по запросу. Поставщик взимает только для расчета времени, используемого исполнения, а не фиксированную ежемесячную плату за поддержание физического или виртуального сервера. Эти функции могут быть соединены вместе, чтобы создать обработки конвейер, или они могут служить в качестве компонентов более крупных приложений, взаимодействующих с другими код выполняется в контейнерах или на обычных серверах.
Преимущества и недостатки данной вычислительной
Из этого описания, в двух из самых больших преимуществ данной технологии очевидны: разработчики могут сосредоточиться на бизнес-целей код пишут, а не на инфраструктурные вопросы; и организации платят только за ресурсы, которые они фактически используют определенным образом, а не покупать физическое оборудование или аренда облачных экземпляров, которые в основном простаивают.
Как Бернард Голден отмечает, что последний аспект имеет особое значение для событийно-управляемых приложений. Например, вы могли бы иметь приложение, которое простаивает большую часть времени, но при определенных условиях должны обрабатывать множество запросов одновременно. Или вы могли бы иметь приложение, которое обрабатывает данные, передаваемые от устройств Интернета вещей с ограниченным или прерывистое подключение к интернету. В обоих случаях традиционный подход потребует подготовки мясистым сервер, который может обрабатывать пик трудоспособности—но этот сервер будет недогружен большую часть времени. С бессерверную архитектурой, тебе платят только за ресурсы сервера, вы на самом деле использовать. Бессерверную вычислений также будут хороши для конкретных видов пакетной обработки. Одним из канонических примеров использования конструкции без сервера-это услуга, которая загружает и обрабатывает серию отдельных файлов изображения и отправляет их в другую часть приложения.
Пожалуй, самым очевидным недостатком данной функции является то, что они намеренно эфемерности и, как AlexSoft пишет: “подходит для долгосрочных задач”. Большинство провайдеров бессерверную не давайте ваш код выполнить в течение более чем нескольких минут, и, когда вам выпадает функция не сохраняет никаких данных с сохранением состояния от ранее выполненных экземпляров. Проблема в том, что код без сервера может занять несколько секунд, чтобы раскрутить—не проблема для многих случаях, но если вашему приложению требуется низкая задержка, имейте в виду.
Много других минусов, как Рохит Akiwatkar и отметил Ароре Гари, нужно сделать с замком от производителя. Хотя есть варианты доступного источника, рынок бессерверную преобладают в крупных коммерческих облачных провайдеров, как мы поговорим в следующем разделе. Это означает, что разработчики часто в конечном итоге с помощью оснастки от их производителей, что делает его трудно переключиться, если они растут недовольных. Ведь И бессерверную столько вычислительной проходит, по определению, на инфраструктуре поставщика, Это может быть трудно интегрировать код без сервера в разработки и испытания трубопроводов.
Бессерверную Поставщики: АРМ лямбда, функций Лазурное и Гугл облачные функции
В современную эпоху бессерверную вычислительной начался с запуска в AWS лямбда, платформу, основанную на облачных сервисов от Amazon, а в 2014 году. Майкрософт последовали с лазурной функций в 2016 году. Облачные функции компания Google, которая была в бета-версии, начиная с 2017 года, наконец, достиг состояния производства в июле 2018. Трех услуг имеют немного разные ограничения, преимущества, поддерживаемые языки и способы ведения дел. Рохит Akiwatkar имеет хорошее и подробное изложение различий между тремя. В ход Также облачные функции в IBM, которая базируется на Апач с открытым исходным кодом платформы OpenWhisk.
Среди всех платформах без вычислительных сервера, АРМ лямбда является наиболее известным, и, очевидно, имел больше времени, чтобы развиться и созреть. В InfoWorld В имеет покрытие обновлений и новых функций, добавленных в сервис AWS лямбда за прошедший год.
Бессерверную Стеки
Как обстоит дело во многих сферах, независимый мир стал свидетелем эволюции стеки программного обеспечения, которые объединяют различных компонентов, необходимых для создания независимого приложения. Каждый стек состоит из программирования язык , что вы собираетесь писать код в приложение рамки , что обеспечивает структуру кода, и набор триггеров , что платформа будет понять и использовать, чтобы инициировать выполнение кода.
Хотя вы можете смешивать и сочетать различные конкретные предложения в каждой из этих категорий, существуют ограничения, в зависимости от того, какого поставщика вы используете, с некоторым перекрытием. Например, для языков, вы можете использовать Node.js в языке Java, иди, на C# и питон на платформе AWS и лямбда, но только JavaScript и C# и F# для работает на Лазурной функции. Когда дело доходит до триггеров, в AWS лямбда имеет самый длинный список, но многие из них являются специфичными для платформы АРМ, как Амазонка простых услуг электронной почты и сервисов AWS CodeCommit; облачные функции для Google, тем временем, может быть вызвана родовой НТТР-запросов. Павел в-глубина имеет Яворский смотреть на стеки для каждого из большой тройки предложений.
Бессерверную Рамки
Стоит немного задерживаясь на основу часть уравнения, так как это будет определять многое о том, как в итоге вы создаете свое приложение. Амазонка имеет свой собственный отель, с открытым исходным кодом, быстрое применение модели (Сэм), но есть и другие, большинство из которых являются кросс-платформенный и с открытым исходным кодом. Один из самых популярных называется, А В общем, независимая, и подчеркивает, что она обеспечивает тот же опыт, один каждой поддерживаемой платформы, т. е. Сервис AWS лямбда, функций в Azure, облачные функции для Google и IBM в OpenWhisk. Еще один популярный отель находится Апекс, который может помочь вывести некоторые языки недоступны на определенные провайдеры в драку.
Баз данных бессерверную
Как мы отмечали выше, одна особенность работы с кодом без сервера это не постоянное состояние, которое означает, что значения локальных переменных не сохраняются для всех экземпляров. Любые постоянные данные, ваш код должен получить доступ, должны храниться в другом месте, и триггеров, доступных в стопках основных поставщиков всех включая базы данных, что ваши функции могут взаимодействовать.
Некоторые из этих баз данных являются сами называют бессерверную. Это означает, что они ведут себя так же, как другие данной функции мы обсуждали в этой статье, с той разницей, что данные хранятся бессрочно. Но большая часть издержек управления, участвует в подготовке и ведение базы данных закидают. Как разработчик Джереми Дейли выразился, “все, что вам нужно сделать, это настроить кластер, а то все ремонт, исправление, резервное копирование, репликация и масштабирование происходит автоматически.” Как с функцией-как-услуги, вы платите только за время вычислений, вы на самом деле использовать, и ресурсы вращаются вверх и вниз по мере необходимости, чтобы соответствовать спросу.
Большая тройка провайдеров бессерверную каждого предложения свои собственные базы данных без сервера: Амазонка Аврора и бессерверную в DynamoDB, корпорация Майкрософт Azure в космос БД и Гугл облако Firestore. Это не только доступные базы данных, хотя. Неманья Novkovic есть информация на несколько предложений.
Вычислительной Kubernetes Бессерверную и
Контейнеры помогают энерготехнология бессерверную под капотом, но накладные расходы на управление ими осуществляется за счет поставщика и таким образом невидимым для пользователя. Многие видят в бессерверных вычислений как способ получить многие преимущества контейнерных микрослужб без того, чтобы иметь дело с их сложность, и даже начинают говорить о пост-контейнер мир.
По правде говоря, контейнеров и быстрое вычислительной почти наверняка сосуществовать в течение многих лет, и на самом деле функций бессерверную могут существовать в одно и то же приложение, как контейнерные микрослужб. Kubernetes, самый популярный контейнер оркестровки платформы, можно также управлять инфраструктурой бессерверную. Действительно, с Kubernetes, вы можете интегрировать различные виды услуг в одном кластере.
В Бессерверную автономном режиме
Вы можете найти перспектива приступая к работе с данной вычислительной немного пугающим, поскольку кажется, что вы должны были бы подписать контракт с поставщиком, чтобы играть вокруг и увидеть, как это работает. Но не бойся: Существует несколько способов для запуска данной программы в автономном режиме на локальном оборудовании. Например, АРМ Сэм обеспечивает локальную функцию, которая позволяет проверить лямда-код в автономном режиме. И если вы используете фреймворк бессерверную, проверить бессерверную-в автономном режиме, плагин, который позволит вам запустить код локально. Удачных экспериментов!
Эта история, «Что такое независимая? Бессерверную вычислительной объяснил,» был первоначально опубликован
В Награды InfoWorld.