- Какие услуги предлагает Azure DevOps?
- Расширяемость
- Кто использует
- Преимущества Azure DevOps
- Недостатки платформы
- Стоимость
- Azure DevOps против Azure DevOps Server
- GitHub или Azure DevOps
- Azure DevOps или Jira
- Экземпляры контейнеров ACI
- Ключевые возможности экземпляров контейнеров
- Создание контейнера
- Преимущества контейнеров
- Экземпляры контейнеров и служба Azure Kubernetes
- Как запустить Docker на виртуальной машине
- Как развернуть образ
- Установить политику перезапуска
- Функции Microsoft Azure
- Как работают функции
- Кто использует функции
- Как используются инструменты функций
- Разработка кода для функций
- Сильные стороны и ограничения функций
Azure DevOps — это комплексная платформа разработки программного обеспечения, предлагающая ряд возможностей, предназначенных для организации и ускорения разработки на протяжении всего жизненного цикла приложения:
- Управление требованиями.
- Управление проектами как для гибких команд разработки программного обеспечения, так и для каскадных команд.
- Контроль версий с помощью Team Foundation Version Control (TFVC) или Git.
- Автоматизированные сборки.
- Отчеты, такие как результаты тестирования, и показатели разработки, такие как количество невыполненных работ и скорость выпуска.
- Управление тестированием и релизами.
Предназначен для использования с собственными средами разработки, такими как Microsoft Visual Studio и Eclipse. Однако его можно использовать в качестве бэкэнда для других популярных интегрированных сред разработки (IDE). Итак, большое исследование началось.
Какие услуги предлагает Azure DevOps?
Он предлагает набор специализированных услуг, каждая из которых связана с ключевым этапом жизненного цикла разработки.
Для управления проектами. Этот масштабируемый сервис отслеживает работу команды с помощью методов Agile и Scrum или досок Kanban , журналов невыполненных проектов, настраиваемых отчетов и отслеживания проблем, а также информационных панелей команды. Например, разработчики могут использовать его для следующих целей:
- Следите за историями пользователей, ошибками и функциями.
- Доступ к интерактивным журналам задач, доскам, спискам и представлениям календаря.
- Создавайте рабочие списки и диаграммы элементов.
- Разработайте планы доставки, учитывающие зависимости.
- Подключайтесь к репозиториям GitHub , чтобы связывать коммиты GitHub, запросы на включение и проблемы.
Обеспечивает сквозную отслеживаемость, которая позволяет разработчикам отслеживать работу на протяжении всего жизненного цикла, от требований до развертывания.
Azure Pipelines для управления доставкой, интеграцией и развертыванием. Может автоматически создавать и тестировать код на основных языках, включая Node.js, Python, Ruby, Java, PHP, C#, C++, Go, Xcode, .NET, Android и iOS. Он обрабатывает различные типы проектов и сочетает в себе непрерывную интеграцию, непрерывное тестирование и непрерывную доставку для создания, тестирования и доставки кода к месту развертывания. Он может выполнять до 10 параллельных задач в любом проекте с открытым исходным кодом. Также предлагает преобразования файлов и замены переменных, доступные для файлов веб-приложений, а также файлов расширяемого языка разметки и файлов нотации объектов JavaScript. Azure Pipelines интегрируется с Git и Azure Repos для контроля версий.
Azure Repos для контроля версий. Это набор инструментов контроля версий, используемых для управления и отслеживания изменений в коде, которые происходят с течением времени. Контроль версий предлагает мощный способ сохранить работу и координировать изменения кода всей командой. Предоставляет частный репозиторий Git или TFVC, который предлагает такие функции, как совместные запросы на включение и расширенное управление файлами. Подключается к множеству различных сред разработки:
- Visual Studio Code
- Visual Studio
- Xcode
- Eclipse
- IntelliJ
Система также может изолировать ветки кода и использовать политики для защиты критически важных ветвей кода от несанкционированных изменений.
Планы для тестирования. Планы тестирования предоставляют инструменты, которые позволяют разработчикам улучшить качество кода и улучшить совместную работу в процессе разработки. Управление тестированием на основе браузера предоставляет возможности для планового ручного тестирования, пользовательского приемочного тестирования , исследовательского тестирования и сбора отзывов от участников проекта. Возможности тестирования включают в себя следующее:
- Планы испытаний
- Отчет о ходе работы
- Параметры
- Конфигурации
- Запуск
- Инструменты тестирования
Azure Artifacts для управления компонентами и совместного использования. Позволяет разработчикам упаковывать код и обмениваться им. Разработчики могут публиковать пакеты в ленте, а затем делиться ими внутри команды, между организациями или публично. Разработчики также могут получать доступ и использовать пакеты кода из других каналов или общедоступных реестров, таких как NuGet.org или npmjs.com. Поддерживает несколько типов пакетов:
- NuGet
- Npm
- Python
- Maven
- Universal Packages
Расширяемость
Все пять служб Azure DevOps открыты и расширяемы и могут использоваться со всеми типами приложений независимо от платформы, платформы или облака. Для Windows, Mac OS и Linux предусмотрены встроенные облачные агенты, а рабочие процессы включены для встроенной поддержки контейнеров и вариантов развертывания Kubernetes, виртуальных машин и бессерверных сред. Допускает расширения и интеграцию с широким спектром популярных сервисов, включая Campfire, Slack, Trello и UserVoice, а также поддерживает пользовательские расширения.
Хотя использование всех пяти сервисов предоставляет пользователям интегрированный пакет, предлагающий комплексные функции DevOps, возможность выбирать, какие сервисы использовать, также обеспечивает гибкость организациям, которым не нужен полный пакет. Например, если пользователь размещает свой код в репозитории Git, расположенном в GitHub, он может использовать только службу Pipeline для сборки и развертывания.
Интеграция с Azure DevOps Server (ранее Team Foundation Server). Это делается через программный интерфейс приложения клиента, который предоставляет функции сервера. К ним относятся Team Explorer для просмотра и управления элементами в командных проектах, а также Source Control Explorer, который обеспечивает контроль версий, а также функции возврата и извлечения. Также, он может использовать службы Team Build Services, а не собственные встроенные службы сборки. Та же среда разработки отчетов, которая позволяет проверять и анализировать элементы, также может быть применена к серверу Azure DevOps и его содержимому.
Интеграция с Microsoft Power BI . Пользователи могут создавать и настраивать информационные панели, а также получать доступ к отчетам, расположенным внутри самого продукта. Эти возможности обеспечивают легкий доступ к Azure DevOps Analytics и позволяют принимать решения на основе данных. Интеграция с Power BI позволяет пользователям извлекать данные, создавать отчеты и настраивать отчеты в соответствии со своими потребностями.
Агент нагрузки Team Test, лицензируемый отдельно, предназначен для поддержки автоматического нагрузочного тестирования веб-приложений или приложений на базе Windows. Результаты нагрузочного теста хранятся в хранилище данных могут быть связаны с конкретными сборками для отслеживания тестирования производительности на протяжении циклов разработки и развертывания.
Кто использует
Используется в основном на следующих четырех должностях:
- Аналитики.
- Тестировщики программного обеспечения.
- Программисты.
- ИТ-проект, менеджеры команд и другие участники проекта.
Аналитики используют инструменты и службы, предлагаемые для ввода и документирования рабочих элементов. Это позволяет им создавать и выбирать сложность документации, создавать шаблоны, которые упрощают, ускоряют и делают процессы более последовательными, а также записывать все в формате языка гипертекстовой разметки, включая изображения и другие файлы.
Тестировщики программного обеспечения могут вводить тестовые сценарии, а также контролировать приемочные тесты. Расширенные отчеты позволяют им отслеживать все тесты, выполненные с течением времени.
Программисты используют для интегрированного модульного тестирования, контроля версий и автоматизированных сборок. Хотя его нельзя использовать в качестве среды разработки, он легко взаимодействует с Microsoft Visual Studio, позволяя программистам разрабатывать приложения с помощью предоставляемых ею инструментов.
Менеджеры ИТ-проектов и команд, а также другие участники проекта используют для мониторинга производительности и прогресса своей команды. Большие проекты можно разделить на более мелкие итерации, можно планировать рабочие элементы и назначать задачи членам команды. Члены команды могут обновлять информацию о своем прогрессе, что помогает менеджерам проектов и команд отслеживать прогресс и производительность. Кроме того, можно применить для автоматического создания отчетов, таких как журналы невыполненных работ по продуктам, диаграммы сгорания и доски kanban.
Преимущества Azure DevOps
Предлагает следующие преимущества:
- Улучшено сотрудничество между распределенными командами. В расширении программисты могут писать код где угодно и в любой форме; его не обязательно писать на .NET. Интеграция с Git также упрощает отслеживание хода работы над продуктом, который разрабатывается в результате сотрудничества нескольких команд.
- Снижение затрат на техническое обслуживание. Поскольку это облачная платформа, ее текущие затраты на обслуживание ниже, чем у локальных служб, таких как Azure DevOps Server. Кроме того, подписчикам не нужно учитывать стоимость обслуживания серверов и циклы обновления. Все, что нужно, — это активная подписка, чтобы команды имели постоянный доступ к последней версии.
- Современные функции. Это выгодная среда для команд, использующих Agile, DevOps и другие парадигмы непрерывной разработки. Функции автоматизированной сборки и выпуска с контролем качества могут помочь повысить эффективность каждого участвующего сотрудника и уменьшить количество ошибок, связанных с ручным выполнением процессов.
- Улучшение среды заинтересованных сторон. Заинтересованные стороны бизнеса могут войти на платформу из любого места, чтобы добавить требования к проекту, проверить состояние проекта или ввести отчеты об ошибках. Более активное участие заинтересованных сторон может улучшить показатели успеха проекта.
- Неограниченное использование служб. Службы включены во все активные подписки Visual Studio. Подписчики могут использовать службы в каждой организации, участником которой они являются, независимо от того, создал ли пользователь организацию или был добавлен кем-то другим.
Недостатки платформы
К потенциальным недостаткам относятся следующие:
- Сложность может привести к проблемам с настройкой. Платформа включает как минимум пять основных наборов инструментов; каждый из них требует настройки и настройки в соответствии с проектом и его конкретными потребностями. Это может сделать использование чрезмерно сложным, а отсутствие или пропуск элементов конфигурации может вызвать проблемы или сбои в рабочем процессе. Например, не существует шаблонов конвейеров, поэтому каждый конвейер необходимо создавать и управлять им отдельно, даже если конвейеры практически идентичны.
- Microsoft по-прежнему является предпочтительным поставщиком. Хотя она и открыта и расширяема, ее наилучшая интеграция обеспечивается с другими продуктами и платформами Microsoft. Это может не быть проблемой для организаций, ориентированных на Microsoft. Но компании, которые полагаются на разнообразные и меняющиеся интеграции, должны уделять особое внимание совместимости и интеграции при оценке.
- Пользовательский интерфейс может быть сложен в использовании. Это большое и сложное предложение, поэтому кривая обучения может быть крутой и сложной. Интерфейс не всегда интуитивно понятен, и у некоторых пользователей могут возникнуть трудности с навигацией по платформе.
- Местоположение данных имеет значение. Когда пользователи используют облачную платформу, код и другие данные проекта располагаются в облаке. Организациям с особыми требованиями к локальному расположению данных может потребоваться принять версию сервера, которая работает локально и работает в доверенной сети.
Стоимость
Включен бесплатно в подписки Visual Studio. Однако организации могут выбрать один из нескольких других тарифных планов:
- Основной план. Первые пять пользователей бесплатны; дополнительные пользователи — 6 долларов США за пользователя в месяц. Базовый план включает доступ к Azure Pipelines, Azure Boards, Azure Repos и Azure Artifacts.
- Базовый план для открытого исходного кода. Команды с открытым исходным кодом могут использовать вариант базового плана, который включает пять бесплатных пользователей с дополнительными пользователями по 6 долларов США (USD) за пользователя в месяц. План включает в себя доски, репозитории и артефакты. Pipelines предоставляет 10 бесплатных параллельных заданий с неограниченным количеством минут в месяц, одно бесплатное параллельное задание непрерывной интеграции / непрерывной доставки (CI/CD) с продолжительностью до 1800 минут в месяц и одно бесплатное параллельное задание CI/CD с самостоятельным размещением с неограниченным количеством минут в месяц.
- Базовый + План тестирования. Тестирование может быть включено в базовый план, стоимость которого составляет 52 доллара США за пользователя в месяц. Этот план предоставляет все функции базового плана, а также планирование тестирования, отслеживание и выполнение, приемочное тестирование пользователей и централизованную отчетность.
Azure DevOps против Azure DevOps Server
Они предоставляют пользователям интегрированные среды для совместной работы, поддерживающие непрерывную интеграцию, инструменты Git и Agile для планирования и отслеживания работы. Основное различие между этими двумя вариантами заключается в том, что Azure DevOps доступен как услуга в облаке, а Azure DevOps Server устанавливается локально.
Еще одно отличие состоит в том, что в Azure DevOps Server доступны три варианта области действия и масштабирования данных — развертывание, коллекции групповых проектов и групповые проекты, тогда как в Azure DevOps доступны только два — учетные записи и групповые проекты. Параметр учетных записей в Azure DevOps работает аналогично параметру сбора групповых проектов.
Кроме того, Azure DevOps Server обычно подключается к серверу интрасети и проходит проверку подлинности с использованием учетных данных Azure AD. Использование интрасети означает, что Azure DevOps Server можно использовать только внутри сервера. Напротив, Azure DevOps подключается к общедоступному Интернету и может использоваться где угодно, войдя в систему с помощью учетной записи Microsoft, Azure AD или токенов личного доступа — альтернативных паролей, специально предназначенных для этого.
Другие различия включают следующее:
- Azure DevOps Server требует своевременного обслуживания и обновления серверов, в то время как облачный не требует от пользователей обслуживания или обновления каких-либо серверов.
- Функциональность Server не будет доступна во время сбоя питания или сбоя, но Azure DevOps можно продолжать использовать.
- Azure DevOps Server не предлагает функцию интеграции с SharePoint, но Azure DevOps ее предоставляет.
- Azure DevOps Server не может выполнять нагрузочное тестирование, тогда как Azure DevOps может выполнять нагрузочное тестирование в облаке.
- Azure DevOps Server не предоставляет функцию службы отчетов SQL, но Azure DevOps ее предоставляет.
Некоторые преимущества использования Azure DevOps вместо Azure DevOps Server включают следующее:
- Более простая настройка
- Можно использовать сразу
- Можно подключиться к серверу из любого места
- Операционная система не требует управления
- Аппаратное обеспечение не требует обновления
Однако AzureDevOps Server может быть предпочтительным выбором для организаций, которым нужен прямой контроль над инфраструктурой разработки или которые не хотят сталкиваться с конкретными проблемами управления данными и локализацией, которые препятствуют использованию облачной платформы.
GitHub или Azure DevOps
Основное различие между GitHub и Azure DevOps заключается в том, что GitHub фокусируется на проектах с открытым исходным кодом, а система — на проектах с закрытым исходным кодом. Но обе службы пытаются сделать так, чтобы пользователи могли переключаться между публичным и частным режимами разработки. Кроме того, хотя GitHub предлагает как частные, так и общедоступные репозитории, он не предоставляет интегрированного сервера сборки.
И GitHub, и Azure DevOps ориентированы на Git, уделяя особое внимание различным аспектам процесса совместной разработки программного обеспечения. Обе службы предоставляют комплексные и многофункциональные платформы для совместного использования и отслеживания кода, а также создания программного обеспечения с помощью CI/CD. Azure DevOps предлагает множество инструментов и служб, которые упрощают создание, разработку, тестирование и управление проектами. Аналогичным образом, GitHub предлагает инструменты групповой разработки программного обеспечения, включая отслеживание проблем проекта, проверку кода и различные социальные функции.
GitHub предлагает превосходную поддержку сообщества по сравнению с Azure DevOps; он был задуман как ориентированный на сообщество и высоко социальный. Хотя Azure DevOps предлагает сообщество разработчиков Microsoft и сторонников открытого исходного кода, оно далеко не такое большое и поддерживающее, как сообщество GitHub.
Azure DevOps или Jira
Программное обеспечение Atlassian Jira — еще одна платформа разработки, которую часто считают конкурентом. Jira доступна как предложение SaaS через Jira Cloud или как локальный вариант через Jira Data Center. Jira предлагает поддержку многих функций и возможностей:
- Поддержка досок Scrum и Kanban.
- Дорожные карты управления проектами
- Дашборды и отчетность.
- Настраиваемые рабочие процессы.
- Контроль версий через BitBucket.
- Возможности автоматизации и оркестрации.
- Управление репозиторием
- Расширяемость.
Но программное обеспечение Jira предлагает множество функций, которых нет в Azure, включая различные версии Jira для разработчиков программного обеспечения, бизнеса и ИТ-команд, расширенные возможности поиска проблем в коде, доступ к сборникам лучших практик, межкомандное сотрудничество и версия мобильного приложения.
Как и в случае с любой корпоративной платформой, потенциальные пользователи должны проанализировать требования и тщательно оценить альтернативные предложения с точки зрения производительности, функциональности, простоты использования, интеграции и поддержки, прежде чем переходить к критически важной платформе разработки.
Экземпляры контейнеров ACI
Экземпляры контейнеров Azure (ACI) — это служба, которая позволяет разработчику развертывать контейнеры в общедоступном облаке Microsoft Azure без необходимости подготовки какой-либо базовой инфраструктуры или управления ею.
Служба поддерживает как контейнеры Linux, так и контейнеры Windows. Это избавляет разработчика от необходимости предоставлять виртуальные машины (VM) или внедрять платформу оркестрации контейнеров, такую как Kubernetes , для развертывания и запуска контейнеров. Вместо этого с помощью ACI организация может развернуть новый контейнер через портал или интерфейс командной строки (CLI), а Microsoft автоматически подготавливает и масштабирует базовые вычислительные ресурсы. ACI также поддерживает стандартные образы Docker , которые разработчик может получить из реестра контейнеров, например Docker Hub или реестра контейнеров.
По данным Microsoft, ACI снижает затраты на управление, поэтому разработчик может развернуть контейнер в облаке за считанные секунды.
Ключевые возможности экземпляров контейнеров
Некоторые из основных функций службы:
- Общедоступный IP-подключение. Разработчик может предоставить контейнеры доступу в Интернет с помощью полного доменного имени и IP-адреса .
- Кастомизация. Разработчик может указать количество ядер центрального процессора (ЦП) и памяти, необходимое для экземпляра контейнера.
- Постоянного хранения. По умолчанию экземпляры контейнеров не сохраняют состояние, но организация может подключить общий файловый ресурс к контейнеру, чтобы включить постоянное хранилище
- Группы контейнеров. Разработчик может запланировать развертывание нескольких контейнеров как группы, которая использует один и тот же хост-компьютер, хранилище, сеть и другие ресурсы. Эта функция полезна, когда разработчик хочет разделить одну функциональную задачу на несколько образов контейнеров. Например, группа контейнеров может включать один контейнер приложения, а затем один контейнер ведения журнала или мониторинга.
- Инфраструктура как услуга (IaaS). Учитывая структуру ACI и тот факт, что он может содержать все ресурсы, необходимые для одного или нескольких приложений и операционных сред, его можно считать IaaS
Создание контейнера
Первый шаг в создании контейнера называется быстрым запуском . Он включает в себя создание группы ресурсов Azure. Доступ к Azure CLI облегчает выполнение команд в ACI. После запуска CLI пользователь создает имя контейнера, группу ресурсов и общедоступный IP-адрес.
Просмотр учебника Microsoft по ACI помогает в этом процессе. После того как ACI создал контейнер, оркестратор контейнера, такой как Kubernetes или Docker, загружает в него необходимые ресурсы, такие как интерфейсы программирования приложений и файлы. Оркестратор может управлять одним или несколькими контейнерами.
Преимущества контейнеров
Для организаций среднего и крупного размера контейнеры предоставляют эффективный способ разработки и развертывания приложений в одном пакете или контейнере. Помимо резидентной операционной системы, контейнеры являются бессерверными и содержат весь код, необходимый для развертывания приложения, без необходимости использования виртуальных машин для предоставления компонента управления. Контейнеры также обладают высокой портативностью, поэтому их можно разрабатывать в одной среде и легко перемещать в другую среду, например в облачный сервис.
Один контейнер может поддерживать несколько приложений, выполняющихся отдельно или совместно. Контейнеры также включают вспомогательные элементы, такие как файлы, базы данных и библиотеки . Поскольку контейнеры включают в себя собственную автономную операционную среду, им не нужно использовать ресурсы поддерживающей платформы для выполнения рабочих нагрузок.
Экземпляры контейнеров и служба Azure Kubernetes
В дополнение к ACI Microsoft предлагает управляемую службу для оркестрации контейнеров, созданную на основе системы Kubernetes с открытым исходным кодом, которая называется Azure Kubernetes Service AKS). AKS сокращает большую часть традиционных накладных расходов, связанных с установкой и обслуживанием Kubernetes. Однако пользователь по-прежнему несет ответственность за управление некоторыми базовыми вычислительными ресурсами.
Microsoft рекомендует ACI для базовых приложений, которые можно изолировать в подмножестве контейнеров. Организациям, которым требуется больший контроль над уровнем оркестрации и контейнерной инфраструктурой, лучше подойдет AKS.
Разработчик также может использовать ACI и AKS одновременно. Например, если вычислительная мощность в кластере AKS недостаточна, можно перейти к ACI, чтобы справиться с пиками спроса.
Как запустить Docker на виртуальной машине
Microsoft Azure предлагает предприятиям множество услуг по управлению контейнерами. Одним из таких вариантов является Экземпляры контейнеров Azure. Вот как начать.
Многие новые ИТ-администраторы не знают, что Microsoft Azure поддерживает контейнерные службы «из коробки». В результате администраторы часто создают виртуальные машины для запуска контейнеров. Но это неэффективно, поскольку организации платят за все виртуальное оборудование, используемое или нет, и должны создавать новую среду и управлять ею.
Хотя организации контролируют ресурсы в среде «инфраструктура как услуга» , они также платят за них все. Виртуальные машины придают преимущество предложениям «как услуга», таким как контейнерные службы.
Экземпляры контейнеров Azure (ACI) позволяют администраторам запускать контейнеры Docker. Организации платят за ресурсы, потребляемые в секунду. Ресурсы включают память, процессор, пропускную способность, графический процессор и диск. Калькулятор стоимости может помочь администраторам определить потенциальные затраты на контейнер.
Как развернуть образ
Для развертывания образа администраторы могут использовать Cloud Shell, PowerShell и сам портал, поскольку все эти методы дают одинаковый результат. В этом примере мы поднимем базовый контейнер с помощью Cloud Shell и портала.
Портал позволяет пользователям сохранять выходные данные в виде шаблона Resource Manager для повторного развертывания при необходимости.
На портале используйте панель поиска для поиска экземпляров контейнера или воспользуйтесь этой прямой ссылкой. Выберите «Создать», чтобы запустить мастер создания контейнеров. Затем выберите колонку «Экземпляры контейнера» вместо «Приложения-контейнеры». Хоть это и связано, но это совершенно другой предмет.
Первоначальные параметры, такие как имя контейнера, регион и группа ресурсов, должны быть знакомы пользователям Azure и заполнены соответствующим образом. Для этого примера рекомендуется использовать новую группу ресурсов.
Azure поддерживает несколько различных реестров контейнеров, как показано в сведениях о контейнерах мастера. ACI может извлекать и запускать образы Docker, как используемые, так и хранящиеся в альтернативных реестрах.
В зависимости от выбранного реестра можно выбрать разные варианты образа Docker. Для включения альтернативных или личных реестров требуется настройка.
Для простоты мы используем образ приветствия реестра Windows, который представляет собой статическую веб-страницу «Привет, мир». Другие доступные примеры быстрого запуска включают контейнерный веб-сервер Nginx или контейнер Windows. Однако не многие администраторы используют контейнеры Windows из-за скорости и размера, а большинство контейнерных систем используют Linux .
Вкладка «Размер» позволяет пользователям указать максимальный объем ресурсов, который может потреблять контейнер. Чтобы изменить это, нажмите гиперссылку «Изменить размер» и выберите более подходящий и дорогостоящий размер. В этом руководстве игнорируйте другие параметры, такие как размер и графический процессор, поскольку на момент публикации графический процессор доступен не во всех регионах.
На вкладке «Сеть», выберите порты, которые нужно открыть. Конфигурация по умолчанию предоставляет контейнер непосредственно в Интернет. Измените тип сети на частную для внутреннего доступа в подсетях.
Тег метки имени DNS запрашивает имя хоста для публикации. Это создаст запись DNS для приложения. Администраторы также могут использовать Azure Cloud Shell для достижения того же результата. Чтобы запустить контейнер, используйте следующий код.
New-AzContainerGroup -ResourceGroupName MyContainerProject -Name FirstAppInstance -Image mcr.microsoft.com/azuredocs/aci-helloworld -DnsNameLabel ttexample
Приведенный выше код в Cloud Shell создает новую группу ресурсов MyContainerProject и контейнер FirstAppInstance. Параметр изображения будет использовать изображение «hello world» для демонстрации работающего контейнера.
Установить политику перезапуска
Вкладка «Дополнительно» содержит политику перезапуска, которая, как и в Docker, определяет, что происходит, когда контейнер останавливается. Администраторы могут запрограммировать его так, чтобы он ничего не делал, перезапускал или перезапускал в случае сбоя.
Часто возникает потребность в постоянном хранилище для контейнеров . Например, администраторы используют постоянное хранилище, если хотят размещать изображения с веб-сервера.
Функции Microsoft Azure
Это служба бессерверных вычислений , размещенная в общедоступном облаке, которая упрощает разработку систем и приложений. Он отличается от серверных вычислений в облаке, где пользователи заключают контракты на серверные ресурсы и выполняют собственные разработки.
Бессерверные вычисления также известны как функция как услуга . Идея бессерверных вычислений заключается в том, чтобы исключить для пользователя необходимость инфраструктуры, позволяя ему сосредоточиться на самом коде и событиях, которые будут его выполнять. Функци устраняют необходимость в предоставлении, управлении и оплате долгосрочных вычислительных ресурсов в облаке Azure.
Функции конкурируют с другими предложениями бессерверных вычислений, включая Amazon Web Services Lambda и Google Cloud Functions.
Как работают функции
Традиционная разработка приложений требует рассмотрения базовой ИТ-инфраструктуры. Для облачных вычислений ИТ-команда должна создавать, отслеживать и оплачивать экземпляры облачных вычислений, независимо от того, какой объем работы этот экземпляр выполняет для бизнеса.
Беспокойство по поводу базовой инфраструктуры исчезает с появлением бессерверных вычислений. Пользователи просто создают, настраивают и загружают код, а затем определяют триггеры или события, которые будут выполнять этот код.
Триггеры могут поступать из разных источников, включая приложение другого пользователя, другие облачные службы , такие как базы данных, а также центры событий и уведомлений. После возникновения триггера или события поставщик облачных услуг несет ответственность за загрузку кода в подходящую среду выполнения, запуск кода и затем освобождение вычислительных ресурсов.
Серверы по-прежнему участвуют в бессерверном процессе, но пользователям не нужно предоставлять вычислительные экземпляры или управлять ими. Кроме того, вместо того, чтобы ежемесячно платить за вычислительные экземпляры и другие связанные с ними ресурсы, пользователи платят за бессерверные вычисления в зависимости от времени, в течение которого функция выполняется в данном платежном цикле.
Кто использует функции
Пользователи облака, желающие сэкономить время и деньги на разработке своих систем и приложений, используют функции, чтобы помочь в своих усилиях DevOps. Служба позволяет им сконцентрироваться на разработке кода, оставляя другие задачи разработки инструментам Функций. Экономия времени, полученная за счет использования инструментов бессерверных приложений, также может привести к экономии затрат на облачные ресурсы.
Как используются инструменты функций
Функции бессерверных вычислений обычно не являются полноценными полнофункциональными приложениями. Вместо этого функции решают конкретные, кратковременные задачи. Большинство функций включают в себя ту или иную форму обработки данных, например обработку изображений или заказов, а также обслуживание файлов и сбор данных с устройств Интернета вещей (IoT) .
Ниже приведены примеры того, как ИТ-команда использует Функции.
- Центр событий предоставляет различные функции, управляемые событиями, связанные с условиями в облачной среде или учетной записью пользователя.
- Общий веб-перехватчик может обрабатывать HTTP- запросы, что позволяет получать триггеры с веб-сайтов и репозиториев GitHub
- Трафик сообщений, поступающий в очередь хранилища, может активировать функции.
- Таймеры также могут запускать функции, которые позволяют пользователям планировать регулярное выполнение таких задач, как очистка файлов.
Пользователи также могут объединять функции или связывать их друг с другом для создания более полных интерфейсов прикладного программирования (API) и приложений микросервисов.
Функции интегрируются с предложениями «программное обеспечение как услуга» (SaaS) , включая Azure Cosmos DB, мобильные приложения и служебную шину.
Разработка кода для функций
Функции поддерживают функции, разработанные в сценариях C#, библиотеке классов C#, Java, JavaScript, PowerShell, Python, PHP, Rust and Go, TypeScript, Batch, Bash и любом формате исполняемого файла . Он также поддерживает менеджер пакетов с открытым исходным кодом NuGet и менеджер пакетов Node для JavaScript , что позволяет разработчикам использовать популярные библиотеки.
Разработчики могут кодировать функции непосредственно на портале, но они также могут управлять непрерывной интеграцией и развертывать фрагменты кода через GitHub, Microsoft Visual Studio Team Services и другие инструменты разработки, такие как Eclipse , IntelliJ IDEA и Xcode.
Безопасность необходима для того, чтобы гарантировать, что только действительные запросы от авторизованных пользователей и триггеров будут управлять функциями. Функции защищают внешние триггеры HTTP с помощью систем OAuth , таких как Active Directory и учетные данные учетной записи Microsoft.
Сильные стороны и ограничения функций
Бессерверные вычисления, реализованные в функциях, предоставляют ряд преимуществ, в том числе следующие:
- Оркестровка. Это эффективная платформа, которая помогает решать проблемы оркестровки сложных проектов.
- Управление и масштабируемость. Никакого управления инфраструктурой не требуется, сервис имеет гибкое масштабирование
- Возможности развития. Инструменты комплексной разработки доступны для всех этапов цикла разработки.
- Языковая поддержка. Поддерживаются многочисленные языки программирования и доступны альтернативы хостинга.