• Главная
  • DataScience
  • CloudServicesEngineer
  • Поиск
Data Science

CF. ПР. Создаём вашу первую функцию

ПР. Создаём вашу первую функцию

Кратко:

  • Создание облачных функций в сервисе Cloud Functions.
  • Добавление кода функции: выбор сервиса, создание функции, выбор языка программирования.
  • Выбор среды выполнения кода и выбор редактора кода.
  • Создание файла с кодом функции и указание точки входа.
  • Тестирование функции: выбор шаблона данных и запуск теста.
  • Публикация и управление версиями функций на следующем уроке.

Практическая работа. Создаём вашу первую функцию

Мы уже достаточно сказали о том, что создавать облачные функции — просто. Давайте сделаем это на практике.

Как добавить код функции

  1. На главной странице консоли управления в списке сервисов выберите Cloud Functions:
    image
  2. На открывшейся странице нажмите кнопку Создать функцию:
    image
  3. Укажите имя функции, введите короткое описание того, что она будет делать, и нажмите кнопку Создать:
    image
  4. Затем выберите среду выполнения кода и нажмите кнопку Продолжить:
    image
  5. По умолчанию сервис предлагает создать Hello World — файл с примером кода на выбранном языке программирования. Этот файл будет создан и автоматически загружен в контейнер. В поле Способ укажите Редактор кода и выберите файл index.go.
    image
    По умолчанию сервис предлагает работать с редактором кода прямо в веб-интерфейсе (как на скриншоте выше). Однако вместо этого вы можете загрузить файл с кодом из бакета Object Storage (этот способ подойдёт для файлов больше 3,5 МБ) или загрузить ZIP-архив с кодом с локальной машины. Переключатель способа добавления кода находится прямо над окном редактора.
    Код вашей функции может находиться как в одном файле, так и в нескольких. Вы также можете создавать папки. При этом обязательно нужно указывать точку входа — часть кода, которая будет вызываться первой и принимать параметры вызова. Формат точки входа — <имя файла с функцией>.<имя обработчика вызова>. Например, index.Handler.
  6. Вверху справа нажмите кнопку Создать версию, чтобы сохранить текущее состояние функции.
    image
    Сервис создаст версию функции и покажет справочную страницу о ней.
    image

Как протестировать созданную функцию

  1. Теперь в панели слева перейдите на вкладку Тестирование. В поле Шаблон данных выберите HTTPS-вызов. Сервис автоматически сгенерирует входные данные в формате JSON.
    image
  2. Под полем с входными данными нажмите кнопку Запустить тест. Сервис выполнит HTTPS-вызов созданной функции и сформирует ответ (также в формате JSON).
    image
Поздравляем! Вы запустили свою первую облачную функцию.
На следующем уроке мы расскажем о том, как подготовить код функций к публикации и как управлять его версиями.

 

Категория: Cloud Services Engineer
Просмотров: 682

CF. Что такое функции?

Что такое функции?

Кратко:

  • Serverless-функции - это программы, которые выполняются на вычислительных ресурсах облачной платформы.
  • Платить вы будете только за выполнение функции и обращение к базе данных.
  • В Yandex Cloud сервис Cloud Functions использует специально созданные виртуальные машины с установленными рантаймами.
  • Сервис ведет журнал выполнения функций, интегрируется с другими сервисами Yandex Cloud и предоставляет SDK для разработчиков.
  • Функции должны быть конечными и не могут хранить состояния.
  • При использовании сервиса вы будете платить за количество вызовов функции, вычислительные ресурсы и исходящий трафик.
  • В следующем уроке вы узнаете, как добавлять функцию в Cloud Functions и приводить её код к модели программирования.

Что такое функции?

Давайте рассмотрим гипотетический пример. У вас есть рассылка для клиентов, и в каждом письме содержится ссылка для желающих отписаться. Пользователь, который больше не хочет читать вашу рассылку, переходит по этой ссылке, и его адрес убирают из списка получателей.
При классическом подходе к решению этой задачи вам нужно поднять ВМ, настроить на ней сервер, принимающий запросы, а также развернуть и настроить весь стек, на котором работает приложение, обрабатывающее запросы на отписку. Помимо этого, нужно обеспечить отказоустойчивость: добавить реплики, развернуть балансировщик нагрузки, настроить сбор метрик и логов, а также уведомления в случае нештатных ситуаций. При этом вы будете платить провайдеру за постоянно работающие ВМ, а также системному администратору за обслуживание всей этой инфраструктуры.
Вместо этого вы можете создать так называемую serverless-функцию. Это программа, которая предназначена для решения какой-то одной простой задачи. Код этой программы упаковывается в изолированный контейнер и выполняется на вычислительных ресурсах дата-центра облачной платформы.
В вашем случае этот код будет обрабатывать HTTP-запрос, делать обращение к базе данных и удалять адрес пользователя из получателей рассылки. Платить вы будете только за выполнение функции и обращение к базе данных.
Решения класса FaaS (Function-as-a-Service) есть у разных поставщиков облачных технологий, например Cloud Functions в Google Cloud Platform, Azure Functions у Microsoft, AWS Lambda у Amazon. В Yandex Cloud этот сервис называется Cloud Functions. Давайте сначала разберёмся с возможностями и особенностями его реализации в Yandex Cloud.

Особенности реализации serverless functions в Yandex Cloud

Yandex Cloud Functions в целом следует общей концепции serverless functions. Для запуска кода облачных (бессерверных) функций используются специально созданные виртуальные машины, на которых установлены рантаймы, то есть среды выполнения кода на том или ином языке программирования, например Python версии 3.9. При этом для удобства пользователя работа с ними скрыта за абстракцией, позволяющей сосредоточиться на решаемой задаче.
Однако сервис Cloud Functions умеет не только это. Он также:
  1. Ведёт журнал выполнения функций. Сюда выводятся параметры и время запуска функции, а также время и результат её выполнения. У пользователя есть возможность выводить в журнал и собственную информацию. Это удобно как при создании и отладке функций, так и при разборе нештатных ситуаций. Например, данные, которые вам нужно было записать в базу данных, в итоге туда не попали. Почему? Не вызвалась функция или была недоступна база данных? В коде функции была ошибка? Журнал поможет найти ответы на эти вопросы.
  2. Интегрируется с другими сервисами Yandex Cloud. Для этого он использует триггер — механизм, который позволяет запускать функцию по событиям в других сервисах. Например, вы можете вызывать функцию при получении пакета данных от ваших IoT-устройств для его обработки.
  3. Предоставляет SDK для разработчиков. Это программные модули, которые можно подключить и вызвать из пользовательских функций. Они упрощают взаимодействие с другими сервисами Yandex Cloud из кода программы. Например, вы можете использовать SDK для сохранения данных в Yandex Object Storage.

Ограничения

При этом у сервиса есть два концептуальных ограничения:
  1. Функции должны быть конечными. Они не могут бесконечно выполнять какую-то задачу. Это ограничение заложено в суть самого сервиса, есть даже специальный таймер, по истечении которого функция будет автоматически завершена.
  2. Функции не могут сами по себе хранить состояния. Cloud Functions — среда выполнения, в которой не сохраняется состояние. Каждая запущенная копия (instance) функции отвечает только за один запрос одновременно (в случае большого количества запросов эта копия может последовательно их обработать). Конкурирующие запросы обрабатываются разными копиями функции, эти копии не могут обмениваться переменными или локальной памятью. Если вам нужно, чтобы функция сохраняла состояние, данные нужно записать в файл в объектном хранилище или в базу данных, например YDB.

Тарификация

При использовании этого сервиса вы будете платить за количество вызовов функции, за используемые для вызова выделенные вычислительные ресурсы, а также за исходящий трафик. Под вычислительными ресурсами подразумевается объём памяти, указанный при создании версии функции, а также время выполнения для каждого вызова функции.
Давайте рассмотрим следующий пример. Предположим, ваше приложение получает ровно один запрос в секунду с равномерной частотой в течение дня, что составит 2 678 400 за месяц в 31 день. Какова будет ежемесячная стоимость обработки этих запросов?
Предположим, обработка запроса занимает 200 мс, на её выполнение требуется 256 МБ памяти. Исходящего трафика нет. Стоимость вычислительных ресурсов для функции (ГБ×час) составляет 3,42 рубля*. Это означает, что все единицы измерения нужно привести к гигабайтам и часам. Стоимость вызовов функции составляет 10 рублей за 1 000 000 вызовов. Получаем следующую формулу:
 
3,42×(256/1024)×(200/1000/3600)×2678400+10×(2678400/1000000)= 1543,42×(256/1024)×(200/1000/3600)×2678400+10×(2678400/1000000)= 154 ₽ в месяц
 
* Тарифы, использованные в этом и следующих примерах расчёта стоимости, могут отличаться от актуальных
 
Однако первый миллион вызовов функции в месяц не тарифицируется, равно как и первые 10 ГБ×час  в месяц, израсходованные на выполнение функций. Скорректируем вычисления:
 
3,42×(((256/1024)×(200/1000/3600)×2678400)−10)+10×((2678400–1000000)/1000000)= 109,803,42×(((256/1024)×(200/1000/3600)×2678400)−10)+10×((2678400–1000000)/1000000)= 109,80 ₽ в месяц
 
Теперь давайте рассчитаем стоимость аренды виртуальной машины. Для запуска приложения нам подойдет ВМ на базе любого дистрибутива Linux с дополнительно установленным рантаймом. Эта ВМ должна быть постоянно доступна, а значит, не может быть прерываемой. Кроме того, она должна работать на 100% vCPU. Минимальная стоимость такой машины составит 1 360,83 ₽ в месяц.
 
Обратите внимание: эти расходы придётся увеличить, поскольку вам также нужны сетевой балансировщик (его использование тарифицируется) и ещё одна ВМ для перехвата трафика.
Более подробную информацию о тарификации Cloud Functions вы найдёте в документации.
В следующем уроке поговорим о том, как добавлять функцию в Cloud Functions и приводить её код к модели программирования.
 
Проверьте себя
Что такое serverless functions?
 
Правильный ответ:
  • Концепция облачных вычислений, при которой провайдер управляет и настраивает виртуальные машины, операционные системы и среды исполнения кода.
К какому типу сервисов относятся бессерверные вычисления?
 
Правильный ответ:
  • FaaS
Какие ограничения есть у serverless-функций?
 
Правильный ответ:
  • Функции не хранят своего состояния
  • Функция не может быть бесконечной

 

Категория: Cloud Services Engineer
Просмотров: 881

SV. Тарификация Serverless

Тарификация Serverless

Кратко:

  • Serverless-сервисы тарифицируются по количеству исполненных запросов, а не по использованию ресурсов.
  • Стоимость запроса учитывает характеристики запроса, условия его исполнения и связанные с ним показатели.
  • Модель оплаты за исполнение запросов исключает риски недоиспользования или нехватки ресурсов при пиковой нагрузке.
  • Serverless-сервисы облегчают управление инфраструктурой и надежность приложений.
  • Освободившееся время можно использовать для развития приложения и улучшения time-to-market.
  • Serverless-сервисы обеспечивают интеграцию и минимизацию задержек без специальной настройки.
  • Yandex Cloud предлагает Free tier для тестирования serverless-экосистемы и приложений с небольшой нагрузкой.
  • Тарификация каждого serverless-сервиса определяется его спецификой и будет рассмотрена в последующих уроках.

Тарификация Serverless

В предыдущих уроках мы уже несколько раз упомянули, что у serverless-экосистемы свои особенности тарификации. Давайте разберёмся в принципах модели оплаты и экономических преимуществах такого подхода. Все serverless-сервисы объединяет следующий принцип: вместо почасовой или помесячной оплаты за использование ресурсов (например, vCPU, диска и памяти для ВМ) вы платите за исполнение ваших запросов к сервису.
Для каждого serverless-сервиса существуют свои правила, по которым определяется стоимость исполненного запроса. Они учитывают характеристики запроса, условия его исполнения или связанные с его обработкой показатели. То, какие ресурсы задействованы и сколько их на самом деле потрачено, остаётся внутренней кухней провайдера. Хотя, конечно, стоимость запроса напрямую связана с фактическими потребностями в ресурсах для его исполнения.
Плата за исполнение запросов вместо платы за ресурсы принципиально меняет ваши отношения с сервисом. В такой модели у вас нет рисков, связанных либо с тем, что ресурсы недоиспользуются и вы переплачиваете облачному провайдеру, либо с тем, что их окажется недостаточно при пиковой нагрузке. А это значит, что теперь вам не нужно постоянно оценивать, насколько ваша инфраструктура соответствует нагрузке на ваши приложения, тратить время на обслуживание приобретённых ресурсов и изучение сервисов, в которых эти ресурсы созданы.
Аналогично serverless-сервис решает все вопросы надёжности и доступности. Вам не надо настраивать разнообразные репликации данных, переключение между мастерами и репликами, выполнять апгрейд узлов, изучать, почему не записались логи или события передались в неправильном порядке.
Умножьте сэкономленное время на количество сервисов, которые нужны типичному приложению, и вы получите существенный выигрыш в сравнении с использованием «классических» сервисов. Освободившееся время вы можете вложить в развитие приложения, улучшив показатель time-to-market.
Ещё одна особенность serverless-сервисов — взаимная интеграция, упрощающая разработку решений. Например, API Gateway в курсе, что бывают не просто HTTP-эндпоинты, а Cloud Functions и сам решит вопросы локализации трафика в пределах зон доступности, обеспечив для вашего приложения наименьшие задержки без какой-либо специальной настройки.
Кроме того, в Yandex Cloud есть так называемый Free tier — в определённых пределах каждый пользователь может использовать сервис бесплатно. Это позволяет попробовать serverless-экосистему в деле и даже успешно эксплуатировать в облаке приложения с небольшой нагрузкой. Также Free tier позволяет свободно экспериментировать, развёртывая в облаке приложения, в которых вы не уверены. А если приложение окажется успешным, нагрузка на него вырастет и бесплатный предел будет превышен, всё продолжит работать.
Тарификация каждого serverless-сервиса определяется его спецификой. Подробнее мы разберём это в последующих уроках.
Вводная тема на этом завершена. После короткого теста переходим к изучению флагманского serverless-сервиса в Yandex Cloud — Yandex Cloud Functions.
 
Проверьте себя
Что такое Serverless?
 
Правильный ответ:
  • Пользователь сервиса не занимается конфигурацией, администрированием или управлением ресурсами сервиса
В чём основное отличие модели тарификации между классическим и serverless сервисами?
 
Правильный ответ:
  • При использовании serverless оплата зависит от фактического использования сервиса, а классические сервисы оплачиваются по часам за выделенные пользователю ресурсы

 

Категория: Cloud Services Engineer
Просмотров: 719

SV. Обзор сервисов

Обзор сервисов

Кратко:

  • Yandex Cloud Functions - базовый сервис для serverless-разработки в Yandex Cloud.
  • Функции, написанные на поддерживаемых языках программирования, исполняются на сервере Yandex Cloud.
  • Резервное копирование дисков и обработка HTTP-запросов могут быть выполнены с использованием Cloud Functions.
  • Yandex API Gateway - готовый serverless-решений для обработки HTTP-запросов, не требующий аренды ресурсов.
  • Yandex Message Queue позволяет выполнять асинхронную и параллельную обработку запросов.
  • Yandex YDB - распределенная отказоустойчивая база данных с SQL и Document API.
  • Yandex Object Storage - масштабируемое облачное объектное хранилище данных.
  • Yandex Serverless Containers - сервис для запуска Docker-контейнеров без создания виртуальных машин.

Обзор сервисов

Базовым сервисом для serverless-разработки в Yandex Cloud является Yandex Cloud Functions. Он относится к категории Function-As-A-Service (FaaS), его главная задача — исполнять программный код, который написан на одном из поддерживаемых языков программирования.
Допустим, вам нужно ежедневно делать резервные копии дисков нескольких ВМ, запущенных в Yandex Cloud. В старой парадигме вы бы создали ещё одну ВМ, настроили утилиту cron для запуска резервного копирования по расписанию, а затем были бы вынуждены всё время поддерживать эту ВМ в работоспособном состоянии.
Работая в парадигме serverless, вы можете адаптировать скрипт, с помощью которого делали бэкап, под использование в Cloud Functions, создать функцию через консоль управления и настроить расписание ее выполнения. Больше ни о чём думать не надо — сервис сделает всё остальное. При этом вы будете платить только за количество вызовов функции, а также за время её исполнения.
Второй типовой сценарий работы с Cloud Functions — это обработка HTTP-запросов. Приложение, обрабатывающее запросы из интернета, редко доступно пользователям напрямую. Обычно между клиентом и приложением размещается промежуточный компонент, или API-шлюз (API Gateway), который обеспечивает балансировку, поставку статического контента, маршрутизацию запросов на нужные сервисы, терминирование SSL.
На рынке существует множество готовых API-шлюзов (NGINX, Apigee, Axway, 3Scale и т. д.), которые можно развернуть на ВМ в вашем облаке. Но гораздо удобнее воспользоваться готовым serverless-решением — Yandex API Gateway. Чтобы его использовать, вам не нужно арендовать какие-либо ресурсы на почасовой основе.
Представим, что ваше приложение должно по запросу отдавать статический контент из хранилища. Раньше вы подняли бы для этого сервер с NGINX. А сейчас просто настраиваете API Gateway — Yandex Cloud сам примет запросы, терминирует HTTPS, маршрутизирует запросы к сервисам и отдаст контент из Object Storage. Вам нужно будет заплатить лишь за количество запросов к созданным API-шлюзам и исходящий трафик.
Когда на запрос клиента нужно ответить быстро, а обработка запроса требует времени, её можно сделать асинхронной и параллельной, используя очереди сообщений на базе Yandex Message Queue.
Предположим, что в вашем веб-сервисе регистрируется новый пользователь. Отвечающий за это микросервис складывает в очередь несколько сообщений: записать данные в CRM, отправить приветственное письмо и т. д. И сразу же после этого отвечает пользователю, что регистрация прошла успешно. Другие микросервисы забирают из очереди свои задачи и выполняют их. Благодаря такому «клею» между компонентами вы можете создавать достаточно сложные конструкции. При этом решаются и вопросы надёжности — пользователь сможет зарегистрироваться, даже если, например, CRM в данный момент недоступна (отвечающий за работу с ней микросервис обработает все накопившиеся сообщения о регистрации, когда она «поднимется»). А ещё не надо арендовать серверы и обслуживать сложные технические решения, которые позволили бы надёжно передавать сообщения между компонентами вашего сервиса.
Набор serverless-сервисов был бы неполон, если бы среди них не было базы данных. В Yandex Cloud это YDB — распределённая отказоустойчивая Distributed SQL база данных с возможностью использовать SQL или Document API (AWS DynamoDB API), практически неограниченными возможностями масштабирования и оплатой только за успешно выполненные запросы и объём хранимых данных. Создаётся такая БД за несколько секунд через консоль управления или CLI, после чего вы получаете URL для доступа к ней и можете начинать работу.
Эти четыре сервиса мы подробно разберём в рамках курса. Остальные сервисы группы Serverless будут кратко упомянуты ниже, для их изучения рекомендуем обратиться к документации.
Yandex Object Storage — масштабируемое облачное объектное хранилище данных, совместимое с Amazon S3 API. У Object Storage есть ряд преимуществ перед обычным сервером, на который можно писать данные в произвольную папку.
Во-первых, это плоское хранилище без иерархии файловой структуры, что ускоряет поиск данных. При этом внутри хранилища сохраняемые файлы группируются в бакеты — за счёт этого можно разделять данные разных проектов или пользователей.
Объекты в Object Storage реплицируются в несколько географически распределённых зон доступности, что повышает надёжность хранения данных.
Наконец, объектное хранилище может автоматически расширяться по мере необходимости, а значит, вам не нужно отслеживать, хватает ли в нём места.
Yandex Serverless Containers — сервис для запуска Docker-контейнеров без создания виртуальных машин и кластеров Kubernetes. Serverless Containers сам использует функции Yandex Cloud Functions для развёртывания контейнеров. Это даёт ряд преимуществ: функции автоматически масштабируются, нет необходимости настраивать балансировщик нагрузки, функцию можно развернуть за секунды.
Yandex Cloud Logging — сервис для агрегации и чтения логов пользовательских приложений и ресурсов Yandex Cloud. Вы можете создать свою лог-группу, объединяющую несколько облачных сервисов. Это удобно в тех случаях, когда вам нужно отладить работу, скажем, микросервисного приложения. Объединив логи Cloud Functions, API Gateway и Message Queue, вы будете видеть в консоли управления запросы к API-шлюзу, действия с событиями в очереди и журнал исполнения программного кода.
Сервис Cloud Logging не только является частью serverless-экосистемы, но и сам построен на базе бессерверных технологий, в частности, хранит данные в Serverless YDB.
Yandex IoT Core — сервис интернета вещей для двустороннего обмена сообщениями между реестрами и устройствами. Этот сервис использует протокол Message Queuing Telemetry Transport (MQTT), который применяется в автоиндустрии, логистике, платформах умных домов, умных бытовых устройствах и т.д.
IoT Core обеспечивает защиту данных по всем точкам подключения, поддерживает автоматическую балансировку и горизонтальное масштабирование во всех дата-центрах Yandex Cloud. Вы можете связывать IoT Core с Cloud Functions через триггеры. В этом случае ваши функции Cloud Functions смогут обрабатывать копии сообщений, передаваемых через MQTT-брокер.
Yandex Data Streams — масштабируемый сервис для управления потоками данных в режиме реального времени. Эта шина потоков данных может непрерывно собирать информацию из разных источников и накапливать её в принимающих системах, таких как ClickHouse, S3 и других. При этом передаваемые данные можно произвольным образом обрабатывать программным кодом из Cloud Functions.
К примеру, вы разрабатываете IoT-устройство с веб-сервисом и мобильным приложением. С помощью Data Streams вы можете собирать телеметрию с устройства, а также данные об использовании сервиса и приложения, чтобы в одной точке анализировать закономерности поведения пользователей и улучшать клиентский опыт.
На следующем уроке мы немного подробнее разберём экономические преимущества использования serverless-подхода при разработке и размещении приложений в облаке.
 
Проверьте себя
Сервис Yandex Cloud Functions относится к модели:
 
Правильный ответ:
  • FaaS
Как определить, сколько серверов и какой мощности нужно арендовать под сервер БД для моего приложения?
 
Правильный ответ:
  • Это не нужно делать, для создания serverless БД Yandex Database нужно только указать её имя.

 

Категория: Cloud Services Engineer
Просмотров: 866

SV. Введение в Serverless

Введение в Serverless

  • Serverless - это подход к разработке ПО, который позволяет разработчикам сосредоточиться на коде и не заботиться об инфраструктуре.
  • Serverless-сервисы могут снизить операционные расходы и минимизировать риски непредсказуемости спроса.
  • Курс "Serverless-разработка" обучает использованию ключевых инструментов serverless-экосистемы Yandex Cloud.
  • Основные сервисы: Yandex Cloud Functions, API Gateway, Serverless YDB, Yandex Message Queue.
  • Для успешного прохождения курса необходимы базовые понятия и инструменты: сервисные аккаунты, мониторинг, работа с YDB, биллинг.

Введение в Serverless

Что такое Serverless

Что бы вы подумали, если бы с вас потребовали поминутную оплату за время, проведённое в магазине? Если бы ресторан предложил вам арендовать повара и официанта на время ужина? Или если бы вам в кофейне сказали закупить зёрна, арендовать бариста и научить его готовить ваш кофе?
То, что кажется бессмыслицей в обычной жизни, по иронии судьбы до сих пор является стандартом в мире разработки ПО. Чтобы запустить приложение, нужно арендовать виртуальную машину определённой мощности, настроить на ней операционную систему и развернуть среду исполнения своего кода. Чтобы записывать и читать данные в БД, нужно определить, сколько потребуется CPU, какой будет нужен объём памяти и жёсткого диска. И оплачивать их, вне зависимости от того используете вы их или нет.
Разработчики привыкли к этому и всегда думают о серверах. Но иногда очень хочется иметь возможность просто узнать цену чашки кофе, операции с БД или запуска определённой функции приложения. Не переплачивать, если операций мало и они не загружают арендованные серверы. Не сталкиваться с отказами приложений, если операций больше, чем серверы могут обработать. Брать сколько нужно, когда нужно и получать скидки, если берёшь много!
Serverless — выкинуть серверы из головы. В этом и есть суть одного из важных направлений в развитии облачных сервисов, о котором и пойдёт речь в данном курсе.
Использование serverless-сервисов при разработке приложений даёт следующие преимущества:
  1. Позволяет разработчикам сфокусироваться на работе над кодом. Больше не нужно разворачивать, настраивать и обслуживать какую-либо инфраструктуру (серверы, виртуальные машины, контейнеры).
  2. Часто даёт возможность снизить операционные расходы по сравнению с запуском приложений на виртуальной машине или в средах контейнерной виртуализации — за счёт более эффективного распределения мощностей провайдером.
  3. Позволяет минимизировать риски непредсказуемости спроса — в случае как переоценки, так и недооценки будущей нагрузки. А значит, становится проще принимать решения о добавлении в приложение новых функций или о запуске рекламной кампании.
Задача этого курса — научить вас использовать ключевые инструменты serverless-экосистемы в Yandex Cloud. Мы не только познакомим вас с этими технологиями и объясним, как их объединить для решения бизнес-задач, но и расскажем, как прогнозировать расходы.

Содержание курса «Serverless-разработка»

Этот курс построен вокруг четырёх основных сервисов экосистемы serverless в Yandex Cloud:
  1. Yandex Cloud Functions. Вы узнаете, как запускать код ваших приложений в изолированной, автоматически масштабируемой и безопасной среде исполнения, а также настраивать события, при наступлении которых этот код будет выполняться. Вы также научитесь отслеживать показатели работы приложений и читать журнал исполнения кода для работы над их производительностью.
  2. API Gateway. Вы научитесь создавать API-шлюзы для интеграции компонентов микросервисных приложений и разрозненных API.
  3. Serverless YDB. Вы узнаете, как получить быстрое, надёжное и дешёвое реляционное или документное хранилище данных без необходимости управлять его ресурсами. Познакомитесь с возможностями работы с YDB через Document API, доступными только для serverless-режима.
  4. Yandex Message Queue. Вы научитесь создавать и настраивать очереди для обмена сообщениями между компонентами вашего приложения.
А в конце курса вас ждёт финальная практическая работа, в которой вы объедините все эти сервисы для решения конкретной задачи — создания сервиса, конвертирующего длинные ссылки в короткие.

Необходимые навыки для успешного прохождения курса

Чтобы быстрее освоить этот курс, нужно быть знакомым с некоторыми базовыми понятиями и инструментами.
●  Сервисные аккаунты. Их использование позволяет получать программный доступ к сервисам Yandex Cloud, а также гибко настраивать права доступа к ресурсам для написанных вами программ. Рекомендуем прочитать руководство «Как начать работать c сервисными аккаунтами» в документации к Yandex Identity and Access Management.
●  Мониторинг. Во всех сервисах Yandex Cloud есть функция мониторинга тех или иных метрик. Мы рекомендуем агрегировать нужные метрики в сквозном сервисе Yandex Monitoring. Как это сделать, рассказывается в курсе «DevOps и автоматизация», а также в документации.
● YDB. В рамках данного курса мы познакомим вас с особенностями работы с YDB в бессерверном режиме: что можно получить бесплатно, как формируется стоимость и каким образом можно её минимизировать. Для полного понимания этой информации нужно знать, как работать с данными через SQL, о чем рассказывается в соответствующем разделе курса «Хранение и анализ данных».
● Биллинг. Чтобы правильно выбирать подход к проектированию приложений и сервисов, важно понимать принципы тарификации используемых ресурсов и уметь считать расходы. Этой теме посвящён курс «Прогнозирование затрат и оптимизация расходов».
 
Проверьте себя
Отметьте ключевые особенности разработки приложений при использовании serverless-сервисов:
 
Правильный ответ:
  • Нет необходимости создавать и обслуживать виртуальные машины
  • Нет необходимости отслеживать утилизацию оборудования и добавлять или удалять ресурсы, чтобы инфраструктура обходилась дешевле и справлялась с повышенной нагрузкой
  • Можно писать приложения для Cloud Functions на любом удобном для вас языке программирования, для которого есть среда исполнения
  • Вы сможете написать и запустить приложение в интернете, обладая меньшими знаниями о серверах и операционных системах, чем при использовании виртуальных машин

 

Категория: Cloud Services Engineer
Просмотров: 825
  1. Serverless
  2. IT-DOA. Итоговое тестирование
  3. МА. ПР. Создание алерта
  4. МА. Алерты

Страница 7 из 19

  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
© Gantry Framework 2016 - 2026
Developed by RocketTheme exclusively
for Gantry 5.
  • Главная
  • Начало
  • Карта
Back to top