Рубрики
Uncategorized

Почему серверу проводится потрясающий для прототипирования

С повышением облачных вычислений новые способы хостинга возникли, начисление по требованию Compute Power Inste … Теги без сервера, облака, дежопа, архитектура.

Смертный для прототипирования (2 части серии)

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

Разбиение систем вниз с микросервисами

У всех этих инноваций имели в виду эти инновации: сделайте свою инфраструктуру более гибкой и в то же время прочную во внимание, минимизируя ваши расходы (помните, в новом мире это все о переменных программных программ. Технологии, такие как Docker и Kubernetes, которые сделали расщепление вашего приложения в небольших строительных блоках.

Основная идея позади этого: вместо того, чтобы иметь одно приложение, где каждая строка кода ссылается на любую другую строку кода (это называется высокой сплоченностью), построить несколько модулей, которые имеют четко определенные интерфейсы, которые могут использовать другие модули (что приводит к тому, что другие модули могут использовать называется высокой муфтой). Таким образом, вы более гибкие в том, как вы создаете свое заявление (вы, например, хотите, например, захотите создать свой приложение в узле и вычисление высокой производительности в GO), и в том, как вы масштабируете свое приложение (тот же пример, FresseND может просто потребоваться переадресацию пользовательского ввода, поэтому 2 ГБ ОЗУ на одной или двух машинах может быть достаточно, тогда как ваш расчет двигателя может потребоваться 32 ГБ ОЗУ, а на высоком трафике следует масштабировать до 8 машин).

Идя еще меньше с наносервиями

И вы можете вращать эту идею еще дальше: после того, как Micro-Services следовал нано-услугам, с идеей о том, что каждое развертывание, которое вы имеете в вашей архитектуре, должны делать только одну единицу и отделены в свой собственный пакет кода. Что звучит как ультрасменный беспорядок для каждого IT-Admin (и вы не ошибаетесь, он имеет его недостатки) Включает совершенно новые уровни масштабируемости и гибкости развития.

Это то, где так называемые серверу Serverless Scometings: если вся ваша рабочая нагрузка разделена в крошечных пакетах, вычислительная мощность становится почти не имеет значения (в качестве одной функции обычно не нуждается в большом количестве вычислительной мощности), и гибкость становится главным приоритетом. И это, что, например, Azure Function или AWS Lambda Prompacty: вы пишете отдельные различные функции, которые могут быть доступны другими сервисами через API, и загружать код в облако, а облачный провайдер развертывает ваш код «просто вовремя», когда он называется из другого сервиса. Вы, как разработчик только за то, что ваше выполнение вашего кода заняло и на сколько раз вызвано ваша функция (обычно цена на несколько центов на миллион звонков).

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

Безверенно на все … верно?

Конечно, не все идеально совершенствуется в мире без сердца. И это, вероятно, не решит все ваши проблемы, которые вы когда-либо имели с управлением оборудованием. Наиболее ярким причинам в отношении неверных вычислений происходит от его основной разработки IDEOM: у которых тысячи автономных функций в вашей архитектуре вы создаете огромную задержку наверху для маршрутизации трафика через ваши системы. Даже если вы предоставляете все свои приложения в один центр обработки данных, вы все еще должны направлять трафик в DataCenter, и если мы подумаем о посещении 20-50 остановок, прежде чем мы успешно завершили один запрос, эта задержка становится значительной для вашего времени отклика.

Большинство облачных поставщиков обычно также предлагают только стандартизированные виртуальные машины, на которых вы можете запустить свои функции. Для вас это означает, что у вас есть шапка на том, сколько ресурсов могут потреблять одну функцию. Хотя это не должно быть проблемой для большей части вашей логики, вам придется искать альтернатив, когда речь идет о вычислении тяжелых рабочих мест, таких как преобразование изображений или расчеты AI.

Еще одна дополнительная вещь, которую вы должны учитывать, когда проходят без промежутки времени: ваша поверхность атаки умножает. Много. Вы должны обеспечить каждую функцию, и каждая функция самостоятельно отвечает за проверку контроля доступа, входов и выходов. Большинство провайдеров предлагают простые и вычислять методы сохранения методов для обработки части аутентификации, но все же вы должны позаботиться о крепении каждой одной функции в вашей архитектуре.

И так же сложно, как вы пытаетесь, вы почти никогда не будете в конечном итоге полностью без него Подумайте о следующем сценарии: одна из ваших функций отправляет уведомления всем мобильным устройствам ваших пользователей. Это триггеры около миллиона функций звонков как ваше приложение уже было довольно популярным. Без проблем без проблем без проблем справится с вами, а через несколько секунд все сделано (для, вероятно, всего несколько центов для всех сообщений). Но у вас есть одна дополнительная работа для них: Для целей регистрации ваша функция записывает оператор в базе данных SQL. Если вы никогда не работали с SQL DBS: стрельба в миллион одновременных запросов на это — Действительно плохая идея. Таким образом, вам придется иметь в виду большую картину и разработать вашу архитектуру вокруг «слабой ссылки» в вашей общей архитектуре. Лучшая индивидуальная масштабируемость не поможет вам, если у вас есть одно узкое место, которое медленно удерживает общий процесс. В качестве примечания до того, как вы ведете ведение журнала: уже есть услуги по большим облачным поставщикам, которые даже включают базы данных для хранения без сервеса, которые вы можете проникнуть так сильно, как вы хотите.

Итак, когда я пользуюсь серверуми?

Функции без сервеса имеют много серьезных случаев использования. Если у вас есть идея приложения, и вы хотите быстро проверить его, и начните быстрым, неверный способ достичь этого. У вас нет конфигурации аппаратного обеспечения, ваше приложение может масштабировать независимо от того, сколько людей используют ваше приложение, и вы вынуждены в Инъекция зависимости Шаблон программирования, который в худшем случае оставляет вас значительно структурированным монолитом, если вы решите перейти на традиционное развитие. И самая поразительная концепция все еще есть: вы можете в основном развивать свой сервис бесплатно. Большинство облачных поставщиков предлагают первые миллион звонков на функцию в месяц бесплатно, что более чем достаточно, чтобы начать. Отсюда вы можете начать продвижение вашего приложения и приобретения пользователей. И, как вы делаете, ваши счета пропорционально вашим пользователям, предоставляя вам возможность масштабироваться с требованиями ваших пользователей (и, вероятно, ваш доход от новых и уплатных пользователей).

SESERLELLES также является выбором для всех видов прокси, помощников функций и небольших обработчиков. Если вы хотите передать запрос от одной службы в другую (например, из очереди в базу данных), Where Southless получил вас. И вы могли бы даже автоматизировать свою ИТ-инфраструктуру с функциями: просто напишите остальные вызовы, чтобы запустить/остановить/администрировать свои услуги в качестве функции безвесочных и определить протоколы, в которых следует применять ситуацию. И вот вы идете, полностью автоматизированная ИТ-инфраструктура прямо у вас под рукой.

Вы когда-нибудь работали с функциями без сердца? Что тебе понравилось, каковы были ваши подводные камни?

Смертный для прототипирования (2 части серии)

Оригинал: «https://dev.to/urmade/why-serverless-is-awesome-for-prototyping-46k6»