В этом эпизоде у меня была возможность догнать Эмона О’Рейли, руководителя директоров программы в команде Functions в Microsoft Ignite 2019. Узнайте, как вы можете воспользоваться преимуществами PowerShell в функциях Azure, включая собственную поддержку PowerShell Core 6, а также модули Azure AZ и многое другое, для создания решений на основе событий.
Вы можете послушать интервью здесь: https://cloudskills.fm/049
Ресурсы из шоу:
- Функции Azure PowerShell Guide Developer
- Автоматизация на основе событий в гибридных средах с использованием PowerShell в функциях Azure
- Автоматизация без сервера с PowerShell в функциях Azure
- Библиотека сообщества без серверов.
Полная стенограмма:
Майк Пфайффер: Как дела все? Добро пожаловать в другой эпизод. Супер взволнованный, счастлив здесь. Мы в Microsoft Ignite 2019, и я сижу с Имоном О’Рейли из Microsoft. Имон, добро пожаловать на шоу.
Имон О’Рейли: Эй, идеальный Майк. Эй, спасибо, что имели меня.
Майк Пфайффер: Да, это здорово. Я действительно взволнован этим эпизодом из -за того, над чем вы работаете в Microsoft и для людей, слушающих. Может быть, вы могли бы сообщить им, кто вы, что вы делаете в Microsoft.
Имон О’Рейли: Ага. Всем привет. Меня зовут Имон О’Рейли, и я работаю над командой функций Azure. Я в основном сосредоточен на сценариях автоматизации и вводите их в Azure и позволяю многим пользователям IT Pro DevOps как бы знакомо делать автоматизацию и выполнять без сервера.
Майк Пфайффер: Потрясающе. Я с нетерпением ждал встречи с вами и поговорить с вами сегодня, потому что это область для меня, где … Я любил PowerShell с тех пор, как она вышла, и я имел … я думаю, для меня PowerShell действительно усилила мою карьеру. Я знаю, что у многих людей есть похожая история, и теперь мы можем ее использовать, и она функционирует в Azure. Я думаю, что это откроет много классных возможностей автоматизации для людей.
Имон О’Рейли: Да.
Майк Пфайффер: Так что так много мест мы могли бы начать-
Имон О’Рейли: Я в некотором смысле знаю, что вы взволнованы, когда мы начинаем говорить об этом, потому что это открывает целый вид проспекта, как мне привести к автоматизации, которую я делал, сделать это доступным в облаке, но потом все Эта другая автоматизация, которая была просто так сложно, или я бы даже не сделал это раньше, теперь она будет намного проще, когда вы сможете принести это знание PowerShell, но принесите это в облако.
Майк Пфайффер: Ага. Таким образом, для людей, которые слушают, у нас есть множество людей, тонны разработчиков, однако есть много людей, которые еще не начали работать с функциями Azure. Так что, возможно, мы могли бы объяснить основы этого, и тогда мы сможем начать погружаться в то, как инженер DevOps может использовать функции PowerShell и Azure.
Имон О’Рейли: Так что, если вы не знакомы с функциями Azure в целом, основной идеей является то, что мы называем это платформой без серверов. Это означает, что вам не нужно управлять серверами, вы пишете свои сценарии PowerShell, мы проводим и запускаем их для вас. Вам не нужно беспокоиться о том, где это работает или что -то из этого. Во -вторых, вы платите только за то, что используете. Поэтому, когда ваш сценарий работает, есть небольшая стоимость, потому что мы отступаем назад и вычислите для вас. Это все, за что вы платите. И тогда третье, он будет масштабироваться автоматически. Так скажем, у вас есть много призывов к вашему сценарию, который вам нужно запустить, мы позаботимся о том, чтобы мы развернули достаточно вычислителей в бэкэнде, чтобы вам не пришлось беспокоиться: «Я перегружаю свою машину? Что с этим сейчас происходит, это просто не удалось. «Мы автоматически гарантируем ответственность, масштабируя.
Имон О’Рейли: Так что это своего рода три столпа функций в целом. И поэтому, когда вы принимаете их в свой разум, это позволяет вам действительно сказать: «Хорошо, как мне воспользоваться этой платформой с моей автоматизацией?» Итак, вещи, которые я обычно делал в помещениях, например, запустить сценарий, возможно, выключить все мои тестовые машины ночью, и я мог бы запланировать задачи, которые используют диспетчер задач и подключают сценарий. Теперь вы можете принести тот же сценарий в облако, подключить его, используя наш собственный планировщик поверх функций, и тогда это сделает это в масштабе, вам никогда не придется беспокоиться, была ли машина, когда она работала? Я что-то пропустил? Это просто произойдет.
Майк Пфайффер: Хорошо.
Имон О’Рейли: Вы говорите, 50 машин, если вы отключите 100, 500, мы на самом деле масштабируем и как бы назвали больше последствий этого сценария, чтобы убедиться, что все эти вещи закрыты для вас.
Майк Пфайффер: Верно. И я думаю, что это, вероятно, то, что люди даже не понимают, что смогут сделать, и когда они вступят в это, это будет момент лампочки. Одной из вещей, которые вы упомянули, была своего рода модель затрат, вы просто платите за нее, когда она работает. Многие из нас, что мы делаем до вашей точки зрения раньше, запланировали что -то, мы всегда опрашиваем, у нас эта система сидит там, иногда она на самом деле не делает что -то. И теперь мы действительно можем просто воспользоваться платой за вещи, когда мы используем его, и, возможно, выполнять эти функции на основе события, вместо того, чтобы вы что -то проверяете.
Имон О’Рейли: Ага. Это был один из недостатков. У нас действительно был хороший путь раньше. Таким образом, вы написали свой край задачи, или вы запустите свой сценарий, а затем у вас был полюс. Если вам нужно что -то, чтобы проверять чаще, вы увеличиваете свою задачу, и она всегда работала, и иногда это нагрузка на внешнюю систему, которую вы звоните, что люди похожи: «Почему меня получают все это время ? » Итак, тогда у нас будут эти сценарии отказа, которые мы должны были бы написать. И это на самом деле стало довольно сложным-
Майк Пфайффер: Полностью.
Имон О’Рейли: Как, очень хорошо в помещениях со сценариями. Итак, одна из вещей, когда мы переехали в облако, — это не только вроде, вы переходите к концепции без сервера, которую вы начинаете воспользоваться преимуществами сервисов, основанных на событиях, которые находятся в Azure. И поэтому хороший пример этого — услуга, называемая сеткой события. И поэтому приятно в сетке событий, поскольку вы вносите какие -либо изменения или делаете какие -либо развертывания внутри любой из служб Azure, оно получает уведомление и этот сервис сетки событий, который встроен в Azure и теперь имеет возможность вызывать ваши функции, когда эти События случаются, и вы можете подписаться на них, так что это своего рода модель подписки на прокола.
Имон О’Рейли: Итак, скажем так И, возможно, это добавить тег и добавить центр затрат на SQL Server, чтобы я мог на самом деле зарядить его обратно в нужную группу. Или добавьте тег с надписью: «Заткнись на выходные, потому что он не используется. Это просто мертвая машина. «Но теперь вам пришлось бы попытаться вставить себя в микс и попытаться работать с разработчиками или запускать что -то отдельно, каждый час, глядя на новые машины [неразборчиво 00:05:34]. Вам не нужно беспокоиться ни о чем с этим, когда вы как бы заходили в модель на основе событий, потому что гарантия доставки, поэтому даже если она не может вас позвонить… Если это не удастся, это позвонит вам снова.
Имон О’Рейли: И поэтому это всего лишь одно сценарий, основанное на том, что вы можете начать перемещать много вещей, о которых вам приходилось беспокоиться в помещениях. Вы можете просто сказать, что облако заботится об этих вещах для меня.
Майк Пфайффер: Ага. И я думаю, что это место, где люди смогут придумать некоторые действительно творческие решения. Будет интересно посмотреть, как люди используют это для инноваций, и просто решить проблемы, потому что вы можете писать это почти. Похоже, что почти любое событие, и поэтому возможности почти бесконечны, похоже. Но вроде немного шага назад, время выполнения Functions Functions просто прошло через большое обновление. Вы, ребята, сделали большое объявление на этой неделе о том, что PowerShell пошел на общую доступность, и, возможно, вы могли бы поговорить о платформе Runtime, почему соображения об управлении версиями важны, и какую версию PowerShell мы получили, все подобные вещи.
Имон О’Рейли: Определенно вам нужно понять, с чем вы работаете. Поэтому, когда мы строили … так, как работает функции, у них есть эта концепция языковых работников, и поэтому основная платформа дает вам возможность управлять этими языковыми работниками внутри функциональной службы. Итак, мы делаем всю эту работу за вас. Это также открытый исходный код, так что вы можете запустить его в помещениях-
Майк Пфайффер: Приятно.
Имон О’Рейли: Таким образом, вы можете взять эту работу, на самом деле эти языковые работники и запустить их в помещениях. Но то, что мы сделали, мы работали с командой PowerShell, чтобы создать в основном работник PowerShell Language для функций Azure. И так что это позволяет нам сделать, так это то, что мы взяли ядро PowerShell А потом мы взяли всю модель программирования на основе событий, которую функционирует, и заставляла эту работу плавно с PowerShell. И поэтому, когда вы на самом деле разрабатываете свои сценарии, когда они собираются бежать, они будут работать в основном на языковом работнике в нашей службе, который управляет PowerShell 6. Итак, вы должны знать, когда я запускаю сценарии , Я не могу установить зависимость от WMF 5 или 5.1.
Майк Пфайффер: Хорошо. Это очень важно.
Имон О’Рейли: Ага. Вы должны это знать. Так что, если у вас есть зависимости, единственное, что мы видели, это то, что у Azure AD все еще есть такая зависимость, потому что у него есть другие библиотеки, которые еще недоступны в ядре. И вот один из тех, кто вы должны быть осторожны, как вы его используете. Есть способы обойти это, но они не такие красивые. Вы вроде как выходят на частичный, который Exe, потому что он работает по окнам [контейнер 00:07:42] и сможете вызвать эти объявления. Но это своего рода обходной путь, пока мы не получим Azure AD модуль, потому что по умолчанию он будет только запускать PowerShell 6.
Майк Пфайффер: получил это. Так-
Имон О’Рейли: Это, наверное, самый большой. Кроме того, все остальное, мы сделали эти превью, все работало очень хорошо за последние четыре месяца. Это единственный, через который мы работали.
Майк Пфайффер: Я вижу, где мы собираемся его использовать. Но я думаю, что одна из вещей, которая встала в мою голову, была вокруг версий и тому подобного. И если вы начинаете это с нуля, вы создаете функциональное приложение, создаете свою первую функцию PowerShell, если вы делаете это на портале или должны использовать инструмент разработчика, Visual Studio Code, как мы должны начать атаковать это?
Имон О’Рейли: У нас есть простой учебник И поэтому мы сейчас рекомендуем VS Code. Я думаю, что многие из ИТ -профессионалов работали за последние несколько лет, мы вроде все начали в Исе. Это действительно будет работать очень хорошо. И отладчик был отличным, все, что у нас есть, это было действительно приятно. И поэтому я также сделал там большую часть своего развития. Но затем за эти годы мы как бы остановили инвестиции в ISE, и мы в основном поместили много наших частичных инвестиций в код VS или Visual Studio.
Имон О’Рейли: Итак, теперь наша рекомендация начинается против кода, потому что вы получаете все это богатое отлаживание Intellisense и приятных вещей, у нас на самом деле полная эмуляция хозяев, этого языкового работника, которого мы работаем в помещениях, мы на самом деле запускаем его На вашей машине. Таким образом, это позволяет вам запустить код VS, напишите сценарий, как обычно, не нужно беспокоиться о различиях, но вы можете установить точку разрыва, нажмите F5, и вы можете пройти через свои коды внутри Языковой работник, который работает локально. И затем, когда вы развернете свой код в Azure, это будет тот же язык, который мы вращаемся и работаем для вас.
Майк Пфайффер: Это потрясающе. Так-
Имон О’Рейли: Таким образом, мы получаем такую работу, выполняем свою работу на местном уровне, потому что, вероятно, вы будете быстрее с точки зрения итерации, но если вы просто хотите написать маленький маленький сценарий и просто пытаетесь сделать что -то быстро, портал Доступно для вас.
Майк Пфайффер: Конечно.
Имон О’Рейли: Если вы знаете, как это исправить, то приходите туда и внесите некоторые изменения. Вы также можете сделать все объявление на портале. Но наша общая рекомендация запускается по сравнению с кодом, потому что даже если у вас нет управления источником и всех DevOps, и вы просто нажимаете прямо к облаку, она открывает путь, когда вы хотите зарегистрироваться или вы хотите начать получить Там легче перейти из кода VS, а затем выдвинуть это в облако.
Майк Пфайффер: Я думаю, что VS Code просто такая потрясающая идея, и я действительно был накачан, когда они говорили о Visual Studio Online, и теперь имели возможность работать в браузере. Таким образом, с этим в облачной оболочке это просто безумно хорошее время, чтобы работать в Azure. Не имеет значения, если вы OPS или DEV, или где -либо между ними. И поэтому мой следующий вопрос будет, допустим, что у нас есть функциональное приложение, мы теперь вступаем в функции строительства. Возможно, мы выполняем цифровой студийный код, внутри наших функций, наших функций PowerShell, мы, очевидно, можем вызвать эти функции с помощью подписки на событие, как вы упомянули, но есть другие привязки, которые Ziggy имеют в функциях Azure. Есть все виды способов подключить вызовы этих функций, верно?
Имон О’Рейли: Ага. Итак, одна из действительно классных вещей о функциях, мы в основном называем это событием. Так что мы открываем функциями поддержки PowerShell, — это действительно автоматизация на основе событий. И идея об автоматизации на основе событий заключается в том, что у нас есть эти концепции в функциях, называемых триггерами и привязками, как вы упомянули. И то, что триггеры позволяют вам делать, это автоматически подписаться на событие, которое происходит. Таким образом, типичный — это таймер, как запланированная задача. И вот это спусковое событие, которое называется.
Имон О’Рейли: Другой поддержат людей, вероятно, знакомых с Webhooks, HCP, API, это еще одно триггерное событие. Но у нас также есть триггеры в другие системы, такие как сетка событий, о которых я говорил, но у вас может быть очередь лазурной очередь И вы собираетесь использовать сообщения, и вы хотите запустить себя, когда эти сообщения появятся в очереди или используя космос DB или хранилище таблицы. Все они встроены в триггеры, поэтому вам не нужно писать код, чтобы сказать, когда что -то происходит, уведомить меня или передавать мне данные. Мы в основном создали целый набор библиотек. Хорошая вещь в принятии функций заключается в том, что мы получаем все преимущества, которые были написаны для разработчиков, но теперь мы можем использовать их и в сценариях IT Pro. И поэтому каждый раз, когда они продолжают добавлять больше этих триггеров, мы также наследуем их на PowerShell, не выполняя работу.
Майк Пфайффер: Это действительно круто.
Имон О’Рейли: Это довольно хорошо. Вот как тебя срабатывают, ваше уведомление И тогда привязки — это как передать данные обратно в эти системы или как я могу прочитать дополнительные данные из других систем? И поэтому привязки — это та же концепция, в которой мы пишем код, чтобы выполнить соединение с этими системами, извлекать данные или записывать данные, и вам нужно написать нулевой код. Это все на основе конфигурации. Итак, вы просто говорите: «О, мне нужно поговорить с этой учетной записью хранения с этим Q, и я хочу выслушать сообщения такого типа. Нужно положить, может быть, какой -нибудь фильтр на них. » Таким образом, вы просто указываете это в конфигурации, а затем, когда вы … в любое время и появится сообщение, функция будет вызвана.
Майк Пфайффер: Это потрясающе.
Имон О’Рейли: [неразборчиво 00:12:22]. Таким образом, это то, что позволяет вам просто соединить все эти системы вместе, но не нужно беспокоиться о поддержании пула соединений или заканчиваемых сокетов и как мне сделать аутентификацию? Вы проводите там много времени, где не хотите действительно тратить время. И так это одна из вещей.
Майк Пфайффер: Это очень увлекательно, потому что, основываясь на том, что вы говорите, по сути, я мог бы войти и нанести спуск, который предопределен, а затем иметь привязку к выводу, и я пишу очень мало кода по сравнению с тем, что я делал.
Имон О’Рейли: Да, это вся перспектива.
Майк Пфайффер: Вы просто очень сосредоточены. Верно?
Имон О’Рейли: Ага. Это своего рода модель разработчика, о которой мы говорили, мы говорим, что функции состоит из двух вещей. Одним из них является то, что определение без сервера, которое я упоминал ранее вокруг автоматического масштаба, без серверов и оплаты за то, что вы используете. Но другое состоит в том, что у нас есть модель программирования, которая мы называем моделью программирования на основе событий, которая очень уникальна для функций, но PowerShell и автоматизация, автоматизация на основе событий точно так.
Имон О’Рейли: Вы действительно хотите получить уведомление, когда что -то происходит, например, в предупреждении, ваша машина заканчивает это пространство, или процессор просто нагревается на жаре, или в памяти или что -то в очереди в SQL, ваши индексы низкие Вы хотите получить уведомление об этих вещах, а затем предпринять некоторые действия по исправлению положения, возможно, добавьте больше вычислителей. Может быть, вам нужно открыть билет в своей сторонней службе сейчас или в другую систему продажи билетов. Все это действительно события, и поэтому идея этого заключается в том, что если вы можете воспользоваться этими триггерами и привязками для интеграции ваших систем, то вы можете начать привлекать много своих непрерывных операций в облако и не только разрешить не только Вид непрерывной интеграции, непрерывного развертывания, но также непрерывных операций. И это действительно то, что за закрытие петли, и они своего рода облако с функциями Azure и другими нашими услугами, делают это намного проще, чем в прошлом.
Майк Пфайффер: Это потрясающе. Так что, если я инженер DevOps или просто разработчик, который хочет использовать функции Azure и Azure, и я хочу начать получать свои сценарии автоматизации в такую модель DevOps, для меня это простой способ подключить репо GitHub и вроде как Загрузите мой код в приложение Function и-
Имон О’Рейли: Ага. Итак, это очень легко. У нас есть встроенный инструмент, который в основном, если вы используете Azure DevOps, у нас есть встроенный инструмент, который создаст проект в Azure DevOps, но также настраивает конвейер сборки. И опубликованный конвейер, так что при проверке исходного кода он может автоматически иметь по умолчанию, как построить. Ну, частично есть много сборки Но, может быть, вам придется получить там несколько модулей.
Майк Пфайффер: Конечно.
Имон О’Рейли: И другое дело — автоматический релиз. И поэтому, если вы интегрируетесь в Azure DevOps, это звучит так, как будто это сложная система, но на самом деле это не для многих основных вещей, и я думаю, что большинство людей, о которых я начинаю говорить сейчас, как только мы проходим преимущества этого, Они также начали его усыновить. Потому что вы хотите сделать механизм утверждения и другие виды интеграций. Так что это устанавливает весь этот вид непрерывного трубопровода. Из вашей коробки вы выполняете весь свой тест на разработку на всем пути и публикуете функцию Azure.
Майк Пфайффер: Верно. Я имею в виду, что возможности здесь действительно крутые, потому что Azure DevOps, к вашей точке зрения, могут стать очень сложными. Но если вы просто буквально проверяете сценарий, по существу, в репо, который проходит базовый процесс сборки, и тогда у вас есть, возможно, несколько этапов в конвейере выпуска, где это похоже, давайте перейдем к подписке на разработку, и у нас есть ворота выпуска. Перед производством и тому подобным и т. Д.
Имон О’Рейли: Точно. Вы просто получаете основные строительные блоки, иногда вам не нужно добавлять все модульные тесты, все это, просто сделайте все шаги на месте, а затем начинаете создавать дополнительную проверку по мере прохождения. Вам не нужно делать все это сразу. Я вроде как рассказываю здесь, прежде чем мы ничего не сделали, так что вы знаете, когда вы добавляете, будет лучше, чем то, что у нас было раньше. Так что начните это путешествие, и вы можете начать добавлять в него все больше и больше.
Майк Пфайффер: Мой источник контроля 10 лет назад для моих сценариев PowerShell был папкой на сервере.
Имон О’Рейли: Это все, что мы сделали. Мы скопировали, это получает немного … мы решили добавить к нему доступ. Так у кого есть доступ к серверу? Как мне получить сценарии? Я могу только скопировать их. Я не могу их редактировать. Это был наш контроль источника. Но намного проще, когда мы начали принимать эти облачные методы, где вам больше не нужно думать о многих этих вещах. Особенно, если ваша организация уже вроде как на борту с этими услугами, и часто у них есть. Мы, с точки зрения автоматизации, разработчика или ее, очень легко просто воспользоваться этими вещами.
Майк Пфайффер: Ага. И это будет отличным способом для людей, которые уже обладают навыками PowerShell. Поскольку сообщество PowerShell настолько большое и яркое, и там так много людей, у которых есть навыки, и теперь они смогут привнести эти навыки в функции лазурных. Супер захватывающий. И когда мы говорим о создании функциональных приложений, наших проектов и прочее, как нам начать проектирование решений? Должны ли мы иметь одну функцию для типа вещи, которые мы пытаемся выполнить? Или, если мы поместим кучу функций на один сценарий, например, как это делается?
Имон О’Рейли: Да. Это отличный вопрос. Я думаю, что для чего я пытаюсь достичь секунды, что я пытаюсь достичь? В роли рекомендации, которую мы говорим всем нашим клиентам, — это создание функционального приложения для сценариев. И поэтому, если у вас есть сценарии вокруг в основном исправления оповещений на моих серверах SQL, и, возможно, у вас есть пять разных задач исправления, которые вы выполняете, в зависимости от того, какие события происходят, то способ работы функционального приложения, у вас может быть несколько функции внутри этих. И поэтому они связаны, и это выгода от того, что они добавляют все ваши связанные функции в развернутую функциональность, заключается в том, что все они работают вместе. Если у вас есть общие файлы или общие модули, которыми вы хотите поделиться, вы можете очень легко ссылаться на них и начать использовать их, а затем также развернуться в качестве единого объекта. Поэтому, когда вы начинаете делать развертывание, вы знаете, что они все синхронизируются, когда все эти сценарии или функции работают вместе.
Имон О’Рейли: И поэтому на самом деле нет стоимости, кроме как затраты на управление созданием других функциональных приложений, но, как правило, создайте их лично, тогда я думаю, что вы будете в гораздо лучшей форме, потому что вы делаете свою сборку И Dev and Test, вы хотите подумать, если вы создаете микросервис, вы хотите иметь возможность создавать этот тест и публиковать его, не затрагивая кучу других. И поэтому, если вы попытаетесь перегрузить и вставить слишком много функций в свое функциональное приложение, то вы как бы встали, чтобы проверить все, убедитесь, что все это работает, а затем вы можете открыть другие проблемы.
Майк Пфайффер: Конечно. Итак, держите это простым. Имеет большой смысл. Я думаю, что одна из вещей, о которой я был смущен, когда я очень впервые начал работать с функциями, было то, что я думал: «О, функциональное приложение — это просто сама функция». Но это не относится к тому, что вы только что сказали. Это похоже на функциональное приложение похоже на контейнер, и в нем есть несколько функций.
Имон О’Рейли: Это так. Ага. Это действительно создано для своего рода обмена, вероятно ,-
Майк Пфайффер: Думаю, я должен быть осторожен-
Имон О’Рейли:… Внутри этого.
Майк Пфайффер:… Использование контейнера в качестве терминологии. Не путать людей. В качестве контейнера Docker-
Имон О’Рейли: Да, именно.
Майк Пфайффер:… больше зонт всех этих функций.
Имон О’Рейли: Ага. Это почти как хозяин, который у нас есть на заднем конце, мы вращаемся, чтобы запустить его. Я просто называю это вычислительным, потому что мы поддерживаем контейнеры и другие вещи и функции, но мы заботимся об этой ответственности за вас. Тогда вам все равно, какие компьютеры в бэкэнд. Это цель без сервера, просто напишите свой код, вроде как понимайте ваши ограничения. Я попробовал PowerShell 6, могу делать другие вещи. Но как только вы поймете эти ограничения, сосредоточьтесь на бизнес -ценности.
Майк Пфайффер: Так что, если я здесь человек PowerShell, и я думаю об этом первом вопросе, вероятно, выйдет в мою голову, что я попаду в время выполнения функции? Вы упомянули PowerShell 6, к каким другим модулям я могу получить доступ, и что, если я, возможно, построил свой собственный или хочу что -то из галереи PowerShell, как мне ориентироваться в этом?
Имон О’Рейли: Это отличный вопрос. Таким образом, одна из вещей, над которыми мы работали за последние несколько месяцев, — это функция под названием «Управление зависимостями». И, как вы знаете, нет менеджера пакетов в PowerShell. Когда вы смотрите на другие языки, такие как Node или Python, у них есть технологии менеджера пакетов, а затем менеджеры пакетов, такие как PIP или NPM, которые могут проанализировать их и работать на вас. И поэтому одна из вещей, которые мы представили с функциями Azure,-это требования PST One Five. И поэтому это позволяет вам делать сейчас, так это то, что вы можете указать, какие модули вы хотите иметь в вашем приложении функционального приложения. И поэтому вы можете перечислить легкие, и тогда вы можете в основном пойти 2. *, или 2.2.5.6 И тогда вы можете перейти к SQL Server, вы можете перейти в [Sunline 00:20:12], вы можете в основном перейти в список модулей, которые вам нужны из галереи, вы просто укажите их и какую версию вы хотите. А потом мы во время выполнения идут и получим все для вас и сделаем их доступными на месте, чтобы все эти модули были там и управляли для вас И вам даже не нужно было их упаковать или что -либо делать.
Имон О’Рейли: И действительно приятно в этом, это своего рода уникальная особенность, которая существует только в функции Azure, она не существует нигде. Это когда я кричал так, 2.1. *, тогда мы делаем периодически, каждый раз, когда запустится ваше приложение для функций, или каждый раз в день мы пойдем и проверяем, есть ли более новая версия этой звезды, а затем мы пойдем и автоматически снести ее, но принесите Это умным способом, чтобы мы не убивали ваши существующие, но сбили обновленную версию, а затем впоследствии впоследствии следующей функции. И что мы недавно сделали с этой функцией, так это то, что мы видели так много людей, они пишут сценарии, и что автоматизация затрагивает другие системы, которые находятся под некоторым соблюдением, как будто они находятся под PCI или в какой -то другой политике Анкет И тогда автоматизация унаследована в эту систему.
Имон О’Рейли: И самая большая проблема, с которой мы сталкиваемся, заключается в том, что есть какая -либо безопасность или критическое исправление, которое я сейчас подвергаюсь, потому что я помещаю свою автоматизацию в эти системы. И поэтому мы сказали, что, если вы воспользуетесь этим видом незначительной звезды, мы гарантируем вам, что эти безопасные и критические исправления выйдут, мы сможем их взять, установить их автоматически, и вам не нужно беспокоиться об этом Анкет
Майк Пфайффер: Ух ты. Это изменение игры.
Имон О’Рейли: Это всего лишь одна из тех вещей, о которых вы всегда беспокоитесь. Мол, я в хорошем состоянии или нет? Мы можем гарантировать, что вы в правильном состоянии, но у вас все еще есть полный контроль. Так что, если вы доверяете какому -то поставщику, например: «Я знаю, что эти парни не собираются сломать меня, надеюсь, между ними, поэтому я собираюсь принять их. Но другие, которые я не хочу, я просто укажу версию ». Потому что это позволяет вам тогда как бы получить всю гибкость. И затем, если вы пишете свои собственные модули или хотите просто упаковать их, вы можете буквально просто создать папку модулей в корне вашего приложения. Вы просто сохраняете модуль из галереи или просто копируете свои модули в эту папку, а затем, когда вы собираете с собой каталог этого модуля, загрузите его, а затем сопоставляйте, чтобы он был доступен в вашем модуле PS.
Майк Пфайффер: имеет смысл. Так что она является частью вашего проекта тогда.
Имон О’Рейли: Точно. Вам не нужно импортировать его Он уже просто импортирован, потому что мы добавили его в пакет модулей.
Майк Пфайффер: получил это.
Имон О’Рейли: Таким образом, это два способа ввести ваши модули в систему. Либо используя наши требования PST 1, которые потребуют управления зависимостями, либо просто загружать их в папку Modules.
Майк Пфайффер: Хорошо. И так, пока это модуль, который работает с PowerShell Core, мы в хорошей форме?
Имон О’Рейли: Точно. И большинство из них, вся работа была проделана для совместимости. Так что много модулей … окна, которые не работали, начинают работать лучше. А потом с PowerShell 7, все больше и больше и больше модулей выходит все время. Поэтому я думаю, что большинство людей проводят быстрый тест, и они будут удивлены, насколько это на самом деле работает в PowerShell 6. За последние несколько лет мы только что работали с парнями PowerShell.
Майк Пфайффер: Это действительно круто. Таким образом, в основном создайте манифест модуля, ссылайтесь на желаемые модули, которые либо общедоступны, либо создайте свою папку с собственными модулями, приобретите его туда. И это проще, чем я думаю, большинство людей, вероятно, осознают [Crosstalk 00:23:06].
Имон О’Рейли: Точно. Таким образом, вы можете сделать это из своего кода VS и опубликовать его, или даже с портала, вы можете просто войти, отредактировать эти требования PST 1, например: «О, мне не хватает модуля. «Это как», команда не найдена. «Просто зайдите и введите желаемый модуль, нажмите« Сохранить », мы пойдем его для вас, вы пишете свой сценарий, и он прямо здесь. Итак, и тогда вы можете обновить его, если хотите, у вас есть этот элемент управления.
Майк Пфайффер: Конечно.
Имон О’Рейли: Потому что это своего рода новая концепция для многих пользователей PowerShell, которые, как и у других языков, имели некоторую лучшую поддержку, но, надеюсь, это облегчает.
Майк Пфайффер: И мне нравится тот факт, что вы можете прикрепить свое решение к определенному набору версированных модулей. Так что в то время, когда я написал это, я знаю, что это сработало с этой конкретной версией, потому что я говорю: «О, я в моем репозитории, он всегда будет работать так же, как и я ожидаю».
Имон О’Рейли: Ага. Иногда ты действительно осторожен Мол, я не знаю, обновляется ли эта штука, потому что я хотел, заблокировал это, и я позабочусь о обновлениях безопасности и переиздании и все это. Потому что это активный проект. Я всегда делаю. Итак, да, вы должны прикрепить это к этим версиям. Но если есть определенные, которые вы похожи, «я просто хочу несовершеннолетних. «И мы поддерживаем только незначительные обновления в данный момент. Вы не можете сделать так, потому что просто для того, чтобы защитить пользователей, а также самих себя, потому что обычно обновления основных версий — это те, которые имеют нарушающие изменения.
Майк Пфайффер: имеет смысл.
Имон О’Рейли: Большинство людей гарантируют обратную связь между незначительными версиями, они обычно не между мажором.
Майк Пфайффер: И хорошо, хотя люди могут выбрать свой способ сделать это. Верно?
Имон О’Рейли: Да, именно.
Майк Пфайффер: Потому что у них есть варианты.
Имон О’Рейли: Ага. На них ничего не навязано. Это как все, что работает для вашей среды.
Майк Пфайффер: Хорошо. Итак, вот общий вопрос, который люди задавали, они говорят: «Как мне выбрать между функциями Azure Automation и PowerShell и Azure?» Так что, как будто если вы отступаете от него и смотрите на него, вы можете не осознавать, какие нюансы и разница между ними.
Имон О’Рейли: Ага. Итак, я работал в команде автоматизации Azure. Итак, мы отправили это, я думаю, что это было в начале 2014 года, и когда мы его отправили, мы как бы отправили его в качестве системы автоматизации общего назначения, и это как -то, чтобы сделать три вещи, одна из них развернул ваши ресурсы, один из нас Ответьте на события, а затем должны были интегрироваться в другие системы. И у нас были такие основные возможности, которые предложили такие графические [Изменение 00:25:14], а также поддержка PowerShell Runbook и [долгое время 00:25:16] и гибридный. Так что это была своего рода система автоматизации для всего в Azure.
Имон О’Рейли: С 2014 года это была наша система автоматизации общего назначения. Но за последние пять лет мы начали создавать эти системы автоматизации конкретных доменов, чтобы вы могли подумать об ARM. Итак, теперь мы рекомендуем клиентам использовать Azure Resource Manager для развертывания в Azure. В то время как раньше они, возможно, просто попытались скрепить это. И аналогичным образом, если вы попытаетесь применять политику сейчас, прежде чем люди применяют свои правила политики с использованием автоматизации. Принимая во внимание, что теперь мы рекомендуем использовать политику Azure для установления этого и чертежи, если вы хотите выполнять развертывание всей вашей подписки, и ваши логические приложения-это то, что мы рекомендуем сейчас интегрироваться в системы, потому что у них более 300 разъемов, и это просто автоматически, и и и автоматически, и и это автоматически, и и это автоматически, и и это автоматически, и это просто автоматически, и это просто автоматическое Затем функционирует для автоматизации на основе событий.
Имон О’Рейли: Таким образом, мы вроде как построили эти вертикали, что идея, стоящая за ней, заключалась в том, чтобы написать меньше кода, и мы возьмем на себя больше ответственности, потому что теперь мы сейчас специфичные для домена сценарии. Вам не нужно как бы кодировать все в PowerShell, как раньше. И поэтому роль ролевой функции — это часть автоматизации на основе событий. Поэтому в любое время, когда вы хотите реагировать на мероприятие, мы не будем рекомендовать вам использовать функции для развертывания всех ваших ресурсов в Azure. Это не совсем то, для чего он предназначен. Даже попытаться интегрироваться в сторонние системы, такие как Service Now или некоторые другие. Я, как правило, рекомендую вам использовать большие пробелы, или вы должны обеспечить политику с помощью функций, потому что вы можете использовать политику Azure, и, возможно, что -то подобное для вещей, которые она не может сделать, кроме как добавить ценность там.
Имон О’Рейли: И поэтому я сейчас общаюсь с клиентами, так это сначала взглянуть на услуги автоматизации, специфичные для домена, и посмотрим, смогут ли они соответствовать вашим потребностям. И если они не отвечают вашим потребностям в таких подобных развертывании, ответе, интеграции, оркестровке, всех тех различных услугах, которые у нас есть, то вы всегда можете использовать автоматизацию Azure для своего рода работы общего назначения, которая доступна. Но я думаю, что в большинстве сценариев вы сможете проделать большую часть своей работы, используя одну из этих услуг.
Майк Пфайффер: Верно. Это захватывающе. Я не могу дождаться, чтобы попасть туда и как -то беспорядочно. Одна из вещей, которые мы видим, что люди много используют в автоматизации Azure за последние пару лет, был сценарий отключения стартапа, верно?
Имон О’Рейли: Да.
Майк Пфайффер: Это должно закрыть ваши серверы в конце дня, вернуть его в 8:00 утра. И если вы ткнете вокруг некоторых мест, которые у вас, ребята, есть решения, например, ServerlessLibrary.net, вы начинаете смотреть на функции, которые встроены в PowerShell, вы видите, что кто -то уже работал над тем, что для той же стерео, верно?
Имон О’Рейли: Точно. Ага. И это то же самое, потому что это похоже на такое событие. Это наши триггеры таймера, это то, что мы называем, что является запланированным задачами. Итак, в восемь часов посмотрите, какие машины вы должны отключить и отключить эти машины. И это был один из самых распространенных сценариев, которые у нас были в автоматизации Azure. Но это тот же тип сценария, который вы будете выполнять в функциях, потому что это как сценарий на основе событий.
Майк Пфайффер: Да, потому что расписание — это ваше мероприятие.
Имон О’Рейли: Точно. Расписание — это событие, а затем семь часов, иди, заткнись эти вещи. Хорошая вещь в том, что мы зацепились, у нас есть нативная интеграция сетки событий. Поэтому, когда вы сейчас развернете свои виртуальные машины, вы можете автоматически получить уведомление по сетке событий, а затем вы можете пойти и добавить тег, который в основном говорит: «Я собираюсь автоматически выключить эту машину. «А потом у меня даже есть сценарий, в котором вы могли бы затем положить в начало и остановить время. Или то, что это позволяет вам сделать, это как бы применить ваши общие правила на виртуальную машину. Но как приходит владелец, как DEV или вы какой -то владелец приложения, они могут изменить время начала и остановки, и тогда они оказываются затронутыми только тогда, когда они на самом деле там. И так что есть и передовая функциональность Вы можете-
Майк Пфайффер: Это мило.
Имон О’Рейли:… иди на вершину прямого отключения.
Майк Пфайффер: Есть так много возможностей, потому что это почти как творчество — единственное ограничение в некотором смысле, потому что есть так много разных сценариев, в которых вы могли бы испечь это.
Имон О’Рейли: Ага. Мы потратили так много времени с операционных сторон, выполняя этот тип работы, пытаясь обеспечить, чтобы наши расходы были в хорошем состоянии по всей нашей инфраструктуре или что мы можем быстро реагировать на оповещения, или мы можем интегрироваться в другие системы, потому что нам нужны разрешения. Таким образом, сегодня весь этот вид автоматизации отправляется от руки на PowerShell и других языках сценариев. Но я думаю, что когда вы начинаете переходить в облако, это не просто поднимает все мои PowerShell и бросайте ее, это как: «Есть ли другие услуги в Azure, которые могут сделать мою жизнь намного проще, и у меня меньше кода поддерживать долгосрочный срок «. И именно здесь появляется сетка событий по мере того, как входит ваш монитор, по мере появления вашей политики. Некоторые из этих других местных услуг предназначены для развертывания и попытаться воспользоваться теми, когда вы переходите, но эти навыки PowerShell все равно будут переходить на все, что вы пытаетесь достичь, но это не просто, возьмите все и бросьте Это.
Майк Пфайффер: Конечно.
Имон О’Рейли: Вы можете, но это не совсем то, что мы бы порекомендовали.
Майк Пфайффер: Конечно. Это имеет большой смысл. И вроде как по этой дороге немного дальше, упомянуто Serverlesslibrary.net, потому что у них есть много кода котла для начала. Если я очень новичок в функциях PowerShell, есть ли такие места, как это, кроме ServerlessLibrary.net, где есть некоторые образцы проектов, с которыми можно начать?
Имон О’Рейли: Ага. Это наша рекомендация прямо сейчас. Таким образом, мы поместили пару простых учебных пособий, чтобы начать работу в документах. Но то, что мы делали, — это побуждение людей к тому, чтобы перейти к ServerlessLibrary.net, и причина этого в том, что у нас есть интеграция в портал, чтобы, когда вы идете и пытались создать функцию PowerShell, есть как библиотека без серверов. значок.
Майк Пфайффер: Хорошо.
Имон О’Рейли: Если вы нажмете на это, если из опыта портала, и это поднимает вас в библиотеку.
Майк Пфайффер: Приятно.
Имон О’Рейли: Так что это просто поощряет вас, потому что нет ничего хуже, чем пустой экран, когда вы делаете автоматизацию, это смерть этого желоба, который вы уже должны [неразборчиво 00:30:43]. И поэтому мы пытались сделать несколько образцов, построенных там инженерной командой, но потом мы уже видели сообщество. В сообществе PowerShell так хороша. MVP у нас есть только … люди действительно влюблены в возможности, которые они имеют, и поэтому они наталкивали там все больше и больше образцов. И поэтому я поощряю большинство людей, только с тех пор, как мы, как правило, не были доступны на этой неделе, — это попытаться подтолкнуть там все больше и больше образцов. Не только потому, что это помогает сообществу, но это как бы помогает общему обслуживанию, так что там все больше и больше возможностей выдвигаются.
Майк Пфайффер: И я думаю, что это важное послание для людей, слушающих, потому что так много людей слушают шоу, которое сосредоточено на PowerShell. И я думаю, что вы, ребята, слушаете, вы даже не осознаете Serverlesslibrary.net, и теперь это ваше призвание выйти туда и заполнить эту вещь потрясающими образцами автоматизации.
Имон О’Рейли: Да, мы спрашиваем. Так что все, что вам нужно сделать, это … Это не так уж и сложно, в основном вам нужно иметь учетную запись GitHub, потому что именно здесь вы собираетесь размещать исходный код. Таким образом, вы создаете учетную запись GitHub, создаете репозиторий GitHub. Вы просто вкладываете свой код тут же, а затем выкладываете запрос, указывающий на этот код, а затем мы проводим быстрый обзор, убедитесь, что он в хорошей форме, а затем мы добавляем его в библиотеку без сервера, и он отображается вместе со всеми. А потом люди могут скачать его, загрузить. И если у них есть проблемы, они пойдут в ваше репо И они всегда могут открыть проблемы, если им нужно. Но так как процесс, вероятно, 10 или 15 минут, вы можете сделать основные вещи.
Майк Пфайффер: Это действительно крутой сценарий для того, чтобы стать участником с открытым исходным кодом, используя ваши существующие навыки PowerShell и просто попасть туда и внести свой вклад.
Имон О’Рейли: Это потрясающе. Даже я, потому что много раз у нас действительно не было места, чтобы поставить все эти знания. У нас было множество сценариев, делающих все это внутри. Я бы писал много образцов с клиентами, мы бы работали на месте и работали над вещами И было снижено, что знание было в основном потеряно. А потом мы были как: «О, хорошо». «Держись, у меня есть это в папке. » Попробуйте вернуть его. Я делал, я думаю, что многие из наших MVP, и я думаю, что я призываю кого -либо, чтобы попытаться взглянуть на GitHub сейчас как место, где вы можете поделиться этим знанием и одной вещью, это приносит вам пользу Потому что вы вроде как выходите туда, а потом люди воспользуются вашей работой, но тогда люди также дают вам идеи. Они как бы дают вам другие вещи, чтобы подумать, но вы также можете воспользоваться образцами других людей. И вот единственная вещь, которую мы пытаемся.
Имон О’Рейли: Powershell — очень хорошее сообщество. У нас не всегда был хороший способ поделиться знаниями, потому что у нас есть PowerShellgallery.com, но я думаю, что GitHub открывает там еще один набор сценариев.
Майк Пфайффер: Я думаю, что это так, и я думаю, что огни действительно начинают появляться, когда вы начинаете экспериментировать, занимаясь этим видом социального кодирования, которая взлетает правильно? И именно здесь вы начинаете получать вдохновение и новые идеи, где… », о, я просто попробовал это сейчас, я видел, как я могу решить эту проблему. Теперь у меня есть идея, как решить этот другой ».
Имон О’Рейли: Ага. Вот как вы действительно добились бы успеха, это все равно, что пытаться заново изобрести колесо снова и снова, просто не сработает. Так что это аспект сообщества. Вот где мы видели огромные выгоды только в знаниях о том, какие сценарии вы пытаетесь сделать, как нам нужно сделать функциональный сервис лучше? Что работает, что не работает. Такое взаимодействие между сообществом и инженерной командой — это то, что побуждает нас к продвижению вперед. Мы видели это даже с PowerShell, когда они открыли исходный код, они получили это отличное взаимодействие с сообществом. Функция также с открытым исходным кодом с самого начала, и поэтому мы видели то же самое. В основном разработчики приходят и говорят: «Это не работает хорошо, как вы можете добавить все эти привязки? И мы упускаем на это триггер. И это происходит туда -сюда, люди добавляют там свой собственный код. Теперь это та же идея с PowerShell в автоматизации. Это возможность, я думаю, что для многих ИТ -профессионалов также попадают в это пространство, и ваша собственная карьера, я думаю, выиграет от этого, но ваша компания тоже выиграет, потому что теперь все делятся этим знанием, и это не обязательно содержится в Тысячи разных компаний с одинаковыми вещами снова и снова.
Майк Пфайффер: Ага. Я думаю, что мы все видели это сейчас, что это действительно имеет большое значение. Microsoft — это я думаю, что самый большой участник с открытым исходным кодом в нашем GitHub сейчас.
Имон О’Рейли: Да, именно.
Майк Пфайффер: Затем это изменило ситуацию, и мы можем видеть зрелость лазурства в результате части этого. Это действительно захватывающе. Так что вроде впадает в глубину этого, просто чтобы я мог встретиться, может быть, немного больше продвинутой концепции того, что слушают люди Powershell, вероятно, задаются вопросом, как они могут начать потреблять данные о событиях и что это на самом деле означает? Например, если событие происходит, и я подписан на функцию, например, как я узнаю, как к нему доступ? Это приходит как параметр? Как я должен проанализировать JSON, что мы делаем там, чтобы справиться с этими событиями?
Имон О’Рейли: Как правило, события будут происходить как параметр под названием [неразборчиво 00:35:04]. И обычно это просто сериализованный объект, обладает всеми свойствами. Итак, скажем, у вас есть предупреждение от монитора Azure, это на самом деле называется нас И это отправит нам полезную нагрузку, в основном от предупреждения, какой ресурс, это виртуальная машина, этот идентификатор. Вот память, вот деятельность, которую он занимался. Вся эта полезная нагрузка в основном сериализуется с отправленным нам JSON. А потом мы, потому что мы видим это как JSON, мы фактически преобразовали обратно, чтобы у вас был объект JSON внутри PowerShell, который вы можете просто начать. И поэтому первое, что я обычно делаю, когда интегрирую эти системы, это просто выбросить параметр, чтобы я мог его увидеть. А также Затем однажды я увижу-
Майк Пфайффер: Вы видите схему события.
Имон О’Рейли: Точно. Посмотрите, как выглядит схема, тогда я знаю, с чем я имею дело, и, как правило, я просто забираю, скопирую, а потом не буду продолжать это делать. Я использую это как мой тест. Так что я захожу в код VS и просто создаю такую ценность И тогда я могу передать это в свою собственную книгу для итерации. И поэтому я могу настроить значения, изменить их, и у меня есть кое -что, что я могу быстро сделать.
Майк Пфайффер: Итак, хорошая новость заключается в том, что вы уже сосредоточены … вы уже понимаете объект, ориентированный как сценарий PowerShell, и когда событие отправит вам полезную нагрузку, вы получите это как объект, вы получите Посмотрите на все свойства до этого, вы можете получить все это в первый раз и сохранить их, чтобы понять, с чем вы должны работать.
Имон О’Рейли: Это первое, что я делаю. Потому что, как только вы поймете схему, а затем вы копируете ее оттуда, чтобы вставить ее в VS -код, поместите ее в переменную, вы можете просто просто вызовать методы отдыха, вызовать эту функцию локально, а затем пройти в это тело. И это именно то, что вы собираетесь получить от сетки событий, или от Azure Alerts, или от другого API третьей стороны, которая вас звонит, потому что все они делают то же самое. Они в основном упаковывают все, что у них есть, и дают его нам вместо этой полезной нагрузки. Так что, если это было в JSON, это будет посвятить себя чем -то другим, так что, пока вы просто выбросите его, вы знаете, с чем вы работаете.
Майк Пфайффер: И это так мощно, потому что, как вы упомянули мониторинг, который есть много крутых крючков с монитором Azure, но вы можете отправить это, и вы можете увидеть, сколько времени, возможно, на какую виртуальную машину или какой -либо ресурс, вся эта информация и Затем вы можете использовать его в качестве условных проверок для создания логики для вашей функции. Верно?
Имон О’Рейли: Точно. Что я должен с этим делать? Это просто процессор, на который я только что получил предупреждение. Насколько плохо? Нужно ли мне охладить его и посмотреть, восстановился ли он вообще или он все еще платит? Мне нужно это масштабировать? Мне нужно добавить больше ресурсов? Стоит ли теперь добавить билет на мои серверы? Или некоторые, попасть в систему. В этой логике, которую вы делаете, все время вручную, возможно, вы можете начать кодифицировать эту бизнес -логику, которая у вас есть в этом событии. И теперь каждый раз, когда это идет … Как только вы определите, что это за процесс, это произойдет снова и снова.
Майк Пфайффер: Ага. Один из наших клиентов проводил много экспериментов вокруг этой концепции и делает много разных вещей. Это было просто интересно, но они использовали это как способ порадовать некоторые операционные привычки их команды. И я думаю, что вы, ребята, работаете над большим количеством вещей с политикой Azure, которую вам, возможно, не придется поддерживать свою собственную логику, но в этом случае эти парни хотели делать некоторые вещи, когда группы ресурсов создаются, поэтому Они могут осмотреть то, что произошло, и если это не сделано правильно, они могли бы уйти и … глубокие вещи И это просто действительно классное время.
Имон О’Рейли: Это потому, что ты начинаешь … Как я всегда говорю, вы начинаете передавать свои знания в систему. Прежде чем мы всегда слышали, что разработчики передают все свои знания в приложение, и это было то, что вы пытаетесь получить, и что это было на стороне, пытаясь сшить все вместе и выяснить, что происходит.
Имон О’Рейли: У нас есть своего рода группа групповой платформы, теперь мы надеемся, где мы можем начать рассказывать о том, что мы имеем от автоматизации, а также ее проникают в систему. И теперь у нас есть эти две вещи, работающие вместе, и одна из причин, по которой мы привнесли своего рода автоматизацию в опыт функций, потому что теперь у нас есть разработчики и операции на одной платформе. И поэтому нелегко поделиться всеми преимуществами, которые разработчики получают с новыми триггерами и привязками. Мы также получаем сторону автоматизации, так как мы делаем инвестиции, такие как управление зависимостями, мы сделали для стороны автоматизации, мы можем сделать их для разработчиков и на других языках, поэтому мы начинаем выгоду от объединения работы, которую мы выполняем, и аналогично хорошим Azure DevOps или Некоторые из этих других систем, мы все работаем в одной и той же системе. Поэтому, когда вы начинаете собирать Azure DevOps вместе, это приятно, когда системы также синхронизируются.
Майк Пфайффер: Ага. Один репо, верно? С-
Имон О’Рейли: Один репо.
Майк Пфайффер:… Код инфраструктуры, код приложения.
Имон О’Рейли: Ага. А потом вы делаете устранение неполадок позже. Те же самые шаги по устранению неполадок, мы интегрируемся с пониманием приложений в функциях, но так с PowerShell И поэтому мы сопоставляем правильную информацию, правильную ошибку, правильное предупреждение, правильную ошибку в правые поля и понимание приложений. Когда вы заходите туда, они выглядят очень естественно для вас как пользователя PowerShell, но вы получаете всю силу понимания приложений для устранения неполадок, диагностики, исключений.
Майк Пфайффер: Это действительно действительно увлекательно. И я как бы делал надзор с моей стороны, я даже не думал о выводе функций. И поэтому я имею в виду, что если я отлаживаю в консоли, ясно, что я могу просто посмотреть на живые потоки-
Имон О’Рейли: консольные журналы, да.
Майк Пфайффер: консольные журналы. Но если я пропустил это, потому что была ночь, я могу попасть в понимание приложений и увидеть это.
Имон О’Рейли: Все данные, хранящиеся там. И приятно то, что мы также предоставляем вам информацию об уровне хоста, чтобы хосты, которые мы вращаемся, вы также можете увидеть ее, то это под содействием памяти или процессору, потому что, возможно, это влияет на мое время выполнения, плюс все журналы, которые вы генерируете Также хранится в одной и той же системе, а затем вы получаете все эти приятные визуальные эффекты, чтобы вы могли увидеть, как все интегрировано вместе. Я знаю. Люди, возможно, не знакомы с пониманием приложений, но они проделали действительно хорошую работу, помогая вам устранить неполадок и выяснить, что происходит. И поэтому со всей этой силой мы просто впитываем в наши сценарии автоматизации.
Майк Пфайффер: Это действительно увлекательно. Application Insights безумно сексуально, если кто -то не смотрел на это. Честно говоря, это больше тема разработчика.
Имон О’Рейли: Это было, это было как бы разработано для разработчика, но опять же, идея, почему у нас есть все эти преимущества, которые мы не можем на стороне автоматизации, взять на себя работу и мы можем. Все, что нам нужно сделать, это какая -то работа на стороне платформы, чтобы как бы интегрировать их вместе вместе И тогда я думаю, что это почти начинает нас, вместо того, чтобы снова восстановить все эти возможности, у нас на самом деле есть около 80%, потому что разработчики в основном делают 80% того, что мы часто делаем. Просто нам нужно добавить 20%, которые также являются очень характерными для автоматизации.
Майк Пфайффер: И поэтому большой вывод, убедитесь, что я также создаю ресурс Insights Insight, поскольку я раскручиваю функциональное приложение, которое является по умолчанию тем не мение-
Имон О’Рейли: Это тоже неплательщит, но Да, Это действительно мощно. Я посоветовал это практически для всех.
Майк Пфайффер: Хорошо. Любые другие виды лучших практик стреляют из бедра, о которой мы должны думать, когда мы занимаемся этим как разработчики функций PowerShell в функциях Azure?
Имон О’Рейли: Ага. Единственное, что нужно вызвать, — это функции … Существует несколько планов, поэтому, как правило, мы говорим, что функции были недолговечны и выполняют определенную задачу, а затем выходят оттуда. И поэтому, как правило, мы не рекомендуем долгое время функции. Итак, у нас есть два уровня. У нас есть этот уровень потребления и функции, которые вы можете запустить только 10 минут. Так что, если вы пытаетесь выполнить задачу, которая займет более 10 минут, это потерпит неудачу на вас А потом вы получаете [Crosstalk 00:41:56].
Майк Пфайффер: Это хорошо знать.
Имон О’Рейли: в основном не может сделать 10 минут. Но у нас есть этот план под названием Premium, который вы можете в основном уйти в течение часа гарантированно. И поэтому есть сценарии, в которых вы можете запустить его в течение более длительного периода времени, тогда вы можете вроде перейти к нашему премиальному плану. Но вы получаете все преимущества масштабирования, но есть авансовые затраты, вы должны заплатить за этот начальный экземпляр. Таким образом, лучшие практики в том, что все живете. И во-вторых, когда вы пытаетесь сохранить их в одном месте, так что легче устранить устранение неполадок. Это всегда лучшая практика. И если вы попытаетесь выполнить много разных задач, я бы посмотрел на переход на премию. Потому что даже если вы только что выбрали премиум -план, вы все равно можете развернуть на нем много функциональных приложений. Так что это не похоже на одно функциональное приложение для плана премиум -класса. Если вы выберете премиум-план-
Майк Пфайффер: получил это.
Имон О’Рейли:… То, что он вам дает, является большим примером для работы. Итак, мы дали вам этот очень маленький экземпляр и потребление. И иногда вы попадаете в память или розеты, и вы говорите: «О, что происходит? «Как правило, вы пытаетесь сделать слишком много внутри этого сценария, который вы написали. И поэтому, если это начинается с вами, иногда легче просто сказать: «Я собираюсь перейти к премиальному плану. «Вы заплатите, может быть, 130, 140 в месяц за старт, тогда это все, что вам нужно, и вы масштабируете, если сделаете это, но вы можете поместить большую часть своей автоматизации на этот один экземпляр, поэтому, когда вы делаете математику, Это на самом деле не обойдется вам, и вы можете в конечном итоге устранение неполадок и многое другое.
Майк Пфайффер: И особенно если вы большая организация, огромная ИТ -организация, верно? Это имеет смысл.
Имон О’Рейли: Для некоторых из этих других вещей, за которые вы платите за одну виртуальную машину, это будет стоить вам больше, чем обычно, в течение месяца.
Майк Пфайффер: Так что я мог бы пропустить это, когда вы упомянули это. Так что это 10 -минутное ограничение, но если вы пойдете премиум, какая кепка там во время исполнения?
Имон О’Рейли: У тебя час.
Майк Пфайффер: час?
Имон О’Рейли: Гарантированный час. Я могу идти дольше, мы не пытаемся избавиться от этого, но мы просто гарантируем это как час-
Майк Пфайффер: получил это.
Имон О’Рейли:… С чем вы можете остаться.
Майк Пфайффер: И поэтому, когда разработчики приложений говорят о без серверов и функций, разговор запуска вызовов сильно появляется. И, как правило, что это такое, ну, я должен позволить вам объяснить это для людей, которые не знают, что это такое, но во -первых, что это такое и как мы его ориентируемся?
Имон О’Рейли: Так что это отличный вопрос. Он появляется каждый раз, когда мы говорим о без серверов и о проблемах, когда вы изначально говорили о том, что мы предлагаем без сервера? У нас был этот автоматический страх, вам не нужно платить за серверы, вы платите только за то, что используете. Ключевым является то, что вы платите только за то, что используете. И так это означает, что для вас нет компьютера, пока вам не понадобится. И поэтому, потому что мы не хотим платить за это. И так, как это происходит, если вы не называли эту функцию, этот сценарий через некоторое время, в первый раз, когда его называют, это похоже на: «О, вы только что позвонили нам. » Таким образом, нам нужно найти вычислитель внутри нашего бэкэнд -сервиса, дайте его вам, чтобы вы могли запустить. Так что это то, что является началом вызова, и он распространен на всех платформах без серверов, так как всегда есть первая задержка.
Имон О’Рейли: А потом мы держим его на некоторое время, и так, как вы называете все больше и больше и больше ядра. Так что это только то начальное время, которое вы получите.
Майк Пфайффер: И это важная нота, которую вы сделали там. Это не просто функции Microsoft Azure, которые все, каждая платформа.
Имон О’Рейли: Ага. Поскольку это оплата за использование, мы не будем держать его вокруг. У каждого есть эта проблема. Итак, как мы справились с этим, очевидно, мы сделали много интересной инженерии в фоновом режиме, чтобы попытаться сохранить вещи для вас, например, тянуть, чтобы намного быстрее распределить этот вычисление. Но в плане премиум -класса причина, по которой вам стоит такая первоначальная стоимость, заключается в том, что мы все время гарантируем вам один экземпляр. Поэтому мы гарантируем, что вы вычислите, что мы собираемся предоставить вам доступ. Таким образом, вы запускаете звонок, ноль, и то, что это значит с началом вызова, скажем, вы используете как сторонняя система утверждения, и вы называете функцию, чтобы сказать, как Stop My Machine.
Имон О’Рейли: Если мы позвоним, нам придется подождать пару секунд или более, чтобы что -то пришло, иди, и остановите это. В премии этот экземпляр уже есть. Поэтому, когда вы будете делать этот звонок, это будет именно то, что будет вызвать миллисекунду. Это просто взять команду, запустить скрипт и выполнить.
Майк Пфайффер: получил это.
Имон О’Рейли: И вот идея начала звонка и то, как мы как бы решили его с нашим премиальным планом и выходом.
Майк Пфайффер: Это потрясающе. Так что, в основном, если я хочу наибольшее количество возможностей, не начинается звонок, самое длительное время выполнения, я должен пойти на премию?
Имон О’Рейли: Это так. В некотором смысле я бы порекомендовал это, потому что я только что видел себя, где, многие из этих сценариев автоматизации, они, как правило, часто ходят немного дольше, вам не нужно все время напрягаться. Меня беспокоит свои 10 минут? Я просто что -то сделал? И я думаю, что для многих людей вы можете начать, если вы играете в PLCS Learning, почему бы не использовать потребление? Это почти будет похоже на то, что это бесплатно, потому что мы делаем такое приложение. Но потом, как только вы начнете думать о производстве, у вас будет много этих автоматизаций, тогда я думаю, что я бы как -то обновился в плане премиум -класса, и я думаю, что вы не только получаете эти функции, но и вы также получаете гибридное соединение Анкет Так что теперь ваш сценарий, который работает, может фактически вернуться в ваш локальный центр обработки данных и выполнить действия в помещениях. Таким образом, мы видим, как некоторые клиенты любят: «О, мне нужно добавить нового пользователя, и у меня есть только синхронизация каталогов для моей локальной рекламы до Azure Ad, поэтому мне нужно вернуть свои изменения в свое локальное объявление».
Майк Пфайффер: получил тебя.
Имон О’Рейли: Они могут вернуться к гибридным работникам. И в основном у нас есть это гибридное соединение, которое находится в функциях Azure. По сути, он использует компьютер сервисного автобуса в бэкэнде, но вы можете сделать стандартный [неразборчиво 00:47:03] Конец звонков И сначала это все выходит с вашей машины, и это займет эти команды, запустить их, а затем отправить их обратно. Таким образом, это не просто управление вашими ресурсами Azure, вы можете управлять всеми своими собственными ресурсами помещения таким же образом.
Майк Пфайффер: Это увлекательный материал. Поэтому я думаю, что один из последних вопросов, которые у меня есть для вас, я могу продолжать идти пару часов-
Имон О’Рейли: Я знаю. Там так много. Я думаю, что мы только что затронули много [Crosstalk 00:47:22]-
Майк Пфайффер: Я знаю. Это потрясающе.
Имон О’Рейли: … но это хорошо.
Майк Пфайффер: Это хорошо. Если я думаю об этом, и я обычно люблю, когда я запускаю сценарий, я положу CSV И я поместил это куда -то или хочу сбросить некоторые данные в папку в моей файловой системе. Как мне навигать на это на моем PowerShell в мире без серверов? Скрипт PowerShell в мире без сервера?
Имон О’Рейли: Есть два способа. Одним из них, если вы знакомы с Azure Storage, есть функция, называемая Azure Files, и в основном то, что она делает, это почти как ниша, которую вы бы использовали локально. И вот что он делает, мы устанавливаем, что Azure Files из вашей учетной записи хранилища, на функции Azure И так, чтобы учетная запись хранения была вашей учетной записью вашей хранения, поэтому она сохраняется. Таким образом, вы можете положить кое -что там, если вам нужно было временно быть рядом, или вы можете просто создать свою собственную учетную запись и просто загрузить файлы, например, на карту диска А потом, как только вы сопоставляете диск, и вы можете просто скопировать его. Итак, вы просто делаете обычный элемент копирования в эту папку, как ты бы на местном
Майк Пфайффер: получил тебя.
Имон О’Рейли:… вместо того, чтобы копировать во внутреннюю часть, которую вы в акции в Azure File Share, которая только подкреплена хранилищем Azure.
Майк Пфайффер: Так что, я думаю, это важная нота, тогда они разрабатывали функции Azure в мире без серверов. Они [Стилерс 00:48:34] полностью. Мы должны использовать такие вещи, как хранилище Azure или управление SQL, или что -то еще.
Имон О’Рейли: Вы должны предположить, что они уйдут. Они уйдут. Так что никогда даже не пытайся. Убедитесь, что это попытка, вам нужна только в тот период времени, потому что она исчезнет. Вам нужно что -нибудь сохранить, использовать хранилище Azure с помощью их общих файлов, и, как только вы поместите его туда, он ваш, а затем все функции, которые запускают, также могут получить доступ к нему.
Майк Пфайффер: Потрясающе. Что ж, я думаю, что это будет изменить правила игры для многих людей, и мы заканчиваем этот эпизод, любые последние ресурсы, на которые вы хотите указать на кого -то, или что -то вроде всего исчезает?
Имон О’Рейли: Ага. Есть много вещей, чтобы начать, я думаю, что лучшее место — это лазурные документы. Есть какая -то хорошая информация, там есть два из этого учебника, и тогда у нас есть то, что мы называем справочной статьей, и есть действительно хорошая информация о параллелизме, как иметь дело с параллелизмом внутри, как иметь дело с Развертывания, интеграция с DevOps, против кода. Таким образом, документы — действительно хорошее место, чтобы начать, и как бы изучить все возможности, которые у нас есть, но тогда я бы порекомендовал библиотеку без серверов, но там появляются хорошие образцы, чтобы начать. Вы можете построить из них, а затем также внести свой вклад, надеюсь, там. А потом просто следите за нами в Твиттере. Там происходит много активности. И не просто нулевой только на части PowerShell , в целом много выхода на функции, которые вы получите из них, поскольку мы добавим все больше и больше возможностей.
Майк Пфайффер: Потрясающе. Мы связываем все это для всех, кто слушает в выставленных заметках, и там у вас есть все. Без сервера не только для разработчиков, но и для всех.
Имон О’Рейли: Ага. Мы как бы открыли это, это Dev Plus Ops-
Майк Пфайффер: Потрясающе.
Имон О’Рейли:… Соберите вместе.
Майк Пфайффер: Ну, Имон О’Рейли, очень ценю, что ты здесь, и я увижу всех в следующем эпизоде. Может быть, мы вернемся в другой раз.
Имон О’Рейли: Ага. Это будет здорово-
Майк Пфайффер: Большое спасибо.
Имон О’Рейли: … мне это очень понравилось.
Оригинал: «https://dev.to/cloudskills/serverless-automation-with-powershell-and-azure-functions-350g»