Code-first serverless azure solutions - workshop proposal

A Collection of Interesting Ideas,

Editors:
(EPAM Systems)

Abstract

Документ содержит описание проведения практического курса на тему codefirst serverless azure solutions

1. Вступление

Microsoft Azure предлагает Azure Functions - удобный способ выполнять код в облаке без дополнительных инфраструктурных затрат. Рассмотрим различные способы выполнения функций, интеграцию с другими Azure сервисами с помощью bindings. Закрепим полученные знания, написав собственную функцию "Eric Lippert’s blog roulette" c HTTP триггером.

2. Мотивация

В этом году прошел epam менторинга по azure certification. Изучил материалы в различным сервисам Azure. Решил закрепить знания проведя серию практических курсов на тему "Что полезного можно извлечь из Azure кредита, который доступен поVisual Studio subscription". Приобритенные практические и теоритические знания позволят претендовать на Azure проекты. Ну и кончено, это внести вклад в .net community

3. Кому будет интересна тема

Подойдет для всех. Выполнить все этапы воркшопа можно будет только с подпиской azure, однако написание кода, тестирование доступно в visual studio без azure аккаунта.

4. Requirements

  1. Visual studio 2019 with Azure development workload

  2. azure cli

  3. Azure account (optional) Не исключено посещение в качестве зрителя

5. Состав воркшопа

Учитывая онлайн формат, я думаю, что лучше провести воркшоп в сокращенном формате длительностью ~60 минут.
План работ будет в формате теория-практика-теория и т.д. Теория будет верхнеуровневая, однако будут даны ссылки для более глубокого изучения.
В ходе воршопа напишем функцию с Http trigger "Eric Lippert’s blog roulette" - функция будет возвращать случайную функцию на один из постов блока Эрика. Sequence diagram выглядит так:
sequence
Нашей задачей будет создать ресурсы Azure, используя azure cli, создать функцию, установить ключи для доступа к другой существующей функции.

5.1. Вступление. 10 минут

Небольшая презентация про Azure Functions. Виды тригерров, примеры использования.
Практика: создадим необходимые ресурсы через azure cli

5.2. Написание функции. 20 минут

Теория: посмотрим на средства разработки функций. Azure portal, core tools, visual studio
Практика: напишем функцию в visual studio

5.3. Интеграция с другими ресурсами azure через биндинги. 15 минут

Теория: посмотрим на фичу биндингов функций, которая позволяет по дополнительных затрат работать с базами, файлами, очередями.
Практика: реализуем blob storage биндинг для считывания уже посещенных постов и его дополнения.

5.4. Безопасность. 15 минут

Теория: рассмотрим стратегии защиты функций.
Практика: добавим авторизацию с помощью app key.

5.5. Q&A

Сессия вопросов и ответов.

6. Что осталось сделать

  1. Руководство для участников

  2. Провести dry-run на новом аккаунте

7. Когда

10 декабря 2020.

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119