SAP on Azure – что такое SAP Deployment Automation Framework для развертывания SAP в облаке + 3 подробных демо-видео


Что такое Microsoft SAP Deployment Automation Framework для SAP on Azure?

Три демонстрационные видео, посвященные работе SAP Deployment Automation Framework, смотрите ниже по тексту.

Microsoft SAP on Azure Deployment Automation Framework — это инструмент DevOps с открытым исходным кодом для развертывания, установки и обслуживания сред SAP – фактически, представляет собой набор готовых к использованию скриптов Azure DevOps, Terraform и Ansible, исполнение которых управляется при помощи простых для понимания конфигурационных файлов. С использованием конфигурационных файлов SAP Deployment Automation Framework можно создать полностью готовую инфраструктуру для SAP on Azure, а также развертывать приложения на платформе SAP HANA и NetWeaver с AnyDB. SAP Deployment Automation Framework использует Terraform для создания инфраструктуры SAP on Azure – создает сети/подсети, сетевые хранилища, виртуальные машины, балансировщики нагрузки и прочие объекты инфраструктуры SAP on Azure – и Ansible для конфигурации операционной системы и приложений – создание локальных разделов дисков на основе LVM, монтирование сетевых хранилищ, создание учетных записей пользователей и групп, установка пакетов и обновлений для работы SAP.

Инфраструктуру для SAP можно развернуть с использованием любой версии операционной системы, поддерживаемой SAP, и развернуть в любом регионе Azure. Поддерживается:

  • как “green field” развертывание – т.е. в наличии имеется только подписка Azure, в которой развертываются все требуемые компоненты – ресурсные группы, виртуальные сети и подсети, сетевые балансировщики нагрузки, хранилища данных и секретов, сами виртуальные машины и многое другое
  • так и развертывание в режиме “brown field”, т.е. при наличии в целевой подписке Azure уже частично развернутой инфраструктуры – например, ресурсных групп, сетей, хранилищ и т.п. – путем ссылок на существующие объекты в конфигурационных файлах SAP Deployment Automation Framework.

При этом сама инфраструктура SAP может быть развернута в нескольких сценариях:

  • одноуровневая (когда все необходимые компоненты/уровни приложений SAP расположены на одной виртуальной машине Azure + вспомогательные компоненты типа сетевых хранилищ ANF/AFS),
  • распределенная – со всеми необходимыми уровнями, такими, как DB, APP, SCS/ERS, WebDisp,
  • распределенная с высокой доступностью – в данном случае для требуемых уровней, таких, как DB, SCS/ERS, WebDisp развертываются по несколько виртуальных машин и компоненты высокой доступности, такие, как Azure Load Balancers и кластеры Pacemaker.

С инфраструктурной точки развертывание с SAP Deployment Automation Framework представляет из себя наличие 2х основных компонентов – среды Azure DevOps для хранения репозитория и управления развертыванием и так называемой Control Plane (Панели Управления) – одной или нескольких виртуальных машин в Azure, а также дополнительных компонентов типа Azure Storage Account и Azure KeyVault – виртуальные машины которой регистрируются в Azure DevOps как self-hosted agent и которые, собственно, и выполняют развертывание требуемой инфраструктуры SAP on Azure, подключаясь, с использованием SPN, к необходимой Azure Subscription. При этом основным инструментом инженера, выполняющего развертывание инфраструктур SAP с применением SAP Deployment Automation Framework являются среда разработки Visual Studio Code, которая подключена к соответствующему репозиторию Azure DevOps и которая используется непосредственно для редактирования конфигурационных файлов Terraform, которые и описывают требуемую инфраструктуру SAP для развертывания, и сервис Azure DevOps, который выступает в качестве репозитория и среды управления пайплайнами, которые и запускаются на упомянутых выше виртуальных машинах Панели Управления.

Более подробно процесс конфигурации SAP Deployment Automation Framework, создания конфигурационных файлов для инфраструктуры SAP и непосредственного развертывания инфраструктуры SAP описан ниже и приведен в примерах в трех подробных видео с детальной демонстрацией SAP Deployment Automation Framework, которые вы найдете в статье.


SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.1/3


Какие компоненты/службы Azure поддерживаются и конфигурируются SAP Deployment Automation Framework при развертывании инфраструктуры?

Платформа автоматизации использует или может использовать следующие службы, функции и возможности Azure.

  • Виртуальные машины Azure (VMs)
    • Accelerated Networking
    • Привязка виртуальных машин (Anchor VMs для Azure Pinning)
    • SSH-аутентификация
    • Аутентификация по имени пользователя и паролю
    • SKU configuration
    • Custom images
    • Новые или существующие группы Proximity Placement Group
  • Виртуальная сеть Azure (VNet)
    • Развертывание в сетях, подключенных к вашей сети SAP
    • Указанная клиентом IP-адресация (Static)
    • IP-адресация, предоставляемая Azure (Dynamic)
    • Новые или существующие группы безопасности сети (Network Security Groups)
    • Новые или существующие виртуальные сети
    • Новые или существующие подсети
  • Azure Availability Zones
    • Высокая доступность (HA)
  • Azure Firewall
  • Балансировщик нагрузки Azure
    • Standard load balancers
  • Хранилище Azure
    • Хранилище диагностики загрузки
    • Хранилище установочных носителей SAP
    • Хранилище файлов состояния Terraform
    • Хранилище Cloud Witness для сценариев высокой доступности
  • Azure Key Vault
    • Новые или существующие хранилища ключей
    • Управляемые клиентом ключи для шифрования диска
  • Группы безопасности приложений Azure (ASG)
  • Файлы Azure для NFS
  • Файлы Azure NetApp (ANF)
    • Для общих файлов
    • Для файлов базы данных


Если вам требуется развернуть SAP on Azure – почему стоит рассмотреть использование Microsoft SAP Deployment Automation Framework?

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

Используйте и внедряйте итеративные инновации Azure/гипермасштабирования. Платформа автоматизации учитывает все последние настройки SAP, такие как параметры ОС и т. д.

Собственные инструменты Azure (без внешних инструментов, без привязки к поставщику). Он становится активом, поскольку основан на решении Microsoft с открытым исходным кодом, в котором используются отраслевые стандарты и инструменты.

Сокращение человеческих ошибок. настройка в соответствии со стандартами клиента, которую не предлагает стандартное решение MSFT, например, установка расширений, адаптация к стандартам именования хостов, адаптация к макету файловой системы и т. д.

Идеально подходит для гибкого управления решениями. С некоторыми изменениями он легко может стать ответвлением текущего клиентского пайплайна CI/CD.

Обновления. Microsoft выпускает регулярные обновления, которые можно развернуть с учетом последних технологических изменений в Azure.

Высокие стандарты. Платформа создает виртуальные машины и ландшафт в соответствии с передовыми практиками / рекомендациями, изложенными Microsoft и SAP.

Безопасность. Доступ к виртуальным машинам и уровню ОС ограничивается закрытыми ключами, что исключает совместное использование учетных данных, что обеспечивает высочайшие стандарты безопасности.

Сокращение обслуживания инфраструктуры (автоматизация по сравнению с ручным трудом) за счет автоматизации.

Зрелая модель, принятая для глобального развертывания корпоративными клиентами. Это решение уже поставлено нескольким клиентам по всему миру и развивается каждый день.


Каковы основные шаги по внедрению Microsoft SAP Deployment Automation Framework в организации?

Шаг 1. Разверните новый проект в Azure DevOps или используйте существующую среду.

Шаг 2. Клонируйте платформу автоматизации развертывания Microsoft SAP в Azure DevOps. Этот код является открытым исходным кодом и может быть изменен как структура решения для обеспечения необходимого уровня настройки.

Шаг 3. Создайте учетную запись участника-службы Azure (SPN) для развертывания.

Шаг 4. Настройте подписку (подписки) — разрешения для учетной записи SPN.

Шаг 5. Создайте консоль управления (Deployer VMs) — стандартный пайплайн 1 в фреймворке на основе конфигурационного файла Terraform.

Шаг 6. Настройте агенты Azure DevOps, библиотеку.

Шаг 7. Создайте конфигурации в SAP на платформе Azure для SAP.

Шаг 8. Создайте столько сред, сколько вам нужно, с помощью пайплайнов предлагаемого SAP фреймворка.

Шаг 9. Используйте интегрированные инструменты SAP фреймворка для массовой проверки конфигурации.

Шаг 10. Повторите шаги 7-9.

Какие встроенные существующие процедуры (pipelines) используются в Azure DevOps для работы с SAP Deployment Automation Framework?

Условно назовем существующие процедуры/пайплайны развертывания по номерам-префиксам в названиях файлов в библиотеке фреймворка, например – 01 (файл 01-deploy-control-plane.yaml в папке /deploy/pipelines библиотеки фрейворка) – будет использована только для развертывания виртуальных машин-агентов DevOps (Control Plane или Deployer VMs), 02 (файл 02-sap-workload-zone.yaml ) – и есть упоминаемая ниже пайплайн 2 и т.д.

● Старт — 3 обязательных пайплайна + 1 необязательный пайплайн как часть среды автоматизации развертывания SAP

Пайплайн 2 (TF) – построить новую инфраструктуру или дополнить уже существующую инфраструктуру (сети/подсети, хранилища (BLOBs, ANF, AFS и т.п.), Key Vaults и т.п.)

Пайплайн 3 (TF) – создание виртуальных машин и связанных с ними объектов (например, балансировщики нагрузки в составе кластеров) + их настройка на уровне Azure.

Пайплайн 4 опционально – загрузить инсталляционные файлы и подготовить спецификацию SAP (Bill of Material)

Пайплайн 5 (Ansible) – настроить службы ОС, преднастройки SAP, iSCSI SDB серверы и клиенты, кластеры Pacemaker, установить SAP (в случае пайплайн 4)


Пример выполнения Pipeline 2: Landscape – построение окружения для инфраструктуры SAP.

Пример работы с данным шагом смотрите в видео выше – после описания самого SAP Deployment Automation Framework.

● Данный шаг базируется на основе хорошо отформатированного легко читаемого/изменяемого текстового файла конфигурации (Terraform .tfvars).

● Все параметры/опции хорошо задокументированы в инструменте автодокументации SAP фреймворк.

● На данном шагу создаются/настраиваются существующие объекты и опции:

  • Resource Group’s placement
  • iSCSI SBD server
  • VNET/subnets config
  • NSGs config
  • NFS: AFS, NFS, ANF config
  • ANF volumes structure and subfolders (deeply modified)
  • Key Vault & identity config (all credentials and ssh keys are stored in KV, could be used for integration with other DevOps processes)
  • Client’s extensions (ARM templates & shell scripts, deeply modified)



SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.2/3


Пример выполнения Pipeline 3: System – создание виртуальных машин для SAP и дополнительных компонентов, например, высокой доступности.

● На основе хорошо отформатированного легко читаемого/изменяемого текстового файла конфигурации (Terraform .tfvars) и т.п.

● Создавайте виртуальные машины SAP на основе четкого и легкого определения каждого уровня:

  • DB – type of DB (HANA, ASE, ORACLE, DB2, SQL), sizing, HA, DB SID, instance#, OS image, storage mounting
  • SCS/ERS – count, HA, sizing, instance#, storage mounting, OS image
  • APP – count, sizing, OS image
  • WEB – count, sizing, OS

● Создает конфигурационные файлы Ansible для следующего шага: пайплайн 5

● Дополнительные/общие настройки:

  • PPG, AvSet, AvZones, Pinning (deeply modified)
  • Backup, client’s extensions, monitoring and diagnostic (deeply modified)
  • Local users (for ALL or by tier – name, uid, gid, groups etc., deeply modified)
  • File system permissions (deeply modified)
  • Additional packages (deeply modified)
  • Global network mounts (Azure Files, Azure Storage blobs as NFS, deeply modified)


SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.3/3

Пример выполнения Pipeline 5: SAP – конфигурирование операционных систем, дисков и сетевых томов, создание пользователей, назначение прав, установка пакетов и обновлений и настройка требований SAP, конфигурирование кластеров и ролей в них, установка SAP (если создан BoM каталог и загружены бинарные файлы SAP)

● На основе автоматически сгенерированных, хорошо отформатированных, легко читаемых/изменяемых текстовых файлов конфигурации (Ansible .yaml)

● НЕ требует каких-либо изменений в файлах конфигурации по умолчанию — может запускаться сразу после создания виртуальных машин с помощью пайплайн 3.

● Операции:

  • Basic OS config – kernel optimization for SAP, packages, services, networking, accounts, permissions, disks etc. (deeply modified)
  • Basic SAP config – SAP permissions, SAP exports, SAP users, GRUB etc
  • iSCSI server config (for SBD) (deeply modified)
  • iSCSI clients config (for SBD) (deeply modified)
  • Pacemaker baseline config (SCS/ERS, DB) (deeply modified)
  • If optional pipeline 4 done – SAP roles software installation & configuration (based on BoM catalog)


Другие мои семинары по Azure вы найдете тут:

демо лабораторных работ с этого семинара, которые вы можете видеть здесь:

  • настройка Azure Migrate, обнаружение, анализ возможностей миграции в Azure и зависимостей виртуальных машин на виртуальном сервере – https://youtu.be/8hjDG11oH84
  • настройка Azure Migrate, Data Migration Assistant для анализа возможностей миграции баз данных и использование Azure Data Migration Service для миграции базы данных в Azure – https://youtu.be/X3B–uKLT7E
  • конфигурация репликации и непосредственная миграция виртуальных машин с локального сервера Hyper-V в Azure, окончательная настройка рабочего решения в Azure – https://youtu.be/LWco5RPbKfQ


И еще – смотрите замечательную серию – ИТ-карьера, сезон 2022-23 – открытое собеседование на позицию Azure Admin – что нужно знать

Гаджеты: ONEXPLAYER 2 – достаем из коробки конкурента Steam Deсk на ADM R7 6800U и съемными стиками


Итак, новая портативная игровая консоль на достаточной мощной для AAA игр платформе AMD Ryzen7 6800U с интегрированной графикой AMD Radeon 680M – ONEXPLAYER 2. Чем она отличается от других подобных консолей на таком же (или почти таком же железе), которые появились в последнее время во множестве – GPD Win 4, AYANEO 2, AYN Loki Max (кстати, в этот список можно внести и GPD Win MAX 2 – который на той же платформе AMD R7 6800U, но представлен в виду мини-ноутбука, хотя и с джойстиками для игры)?

Портативная игровая консоль ONEXPLAYER 2 – это первый в данном формфакторе (портативной игровой консоли) трансформер, который реализует идеи Nintendo Switch со снимающимися боковыми джойстиками – легким движением руки довольно толстенький параллелепипед-кирпичик системного блока ONEXPLAYER 2, который с присоединенной клавиатурой-чехлом представляет из себя достаточно мощный 8.4 дюйма планшет а-ля Microsoft Surface Pro, превращается в игровую консоль путем присоединения к нему по бокам джойстиков. Нажимаем кнопки освобождения защелок джойстиков – и опять, легким движением руки превращаем игровую консоль в «кирпичик» планшета – все, как у Nintendo Switch. За исключением того, что у Nintendo Switch есть в комплекте «внешняя панель-серединка», к которой можно подключить оставшиеся в руках джойстики и собрать из них один «большой внешний» геймпад – например, для игры с дивана, когда сама консоль через кредл подключена к телевизору или монитору. К сожалению, в варианте ONEXPLAYER 2 – они просчитались с эргономикой данной «серединки» и в базовом комплекте, который рассылался, она была заявлена, но ее не прислали – обещают прислать к лету. Вот тогда можно будет в полную силу насладиться возможностями трансформации у ONEXPLAYER 2 – тем более, что подключаться к телевизору или монитору можно и без кредла – если «экран» поддерживает USB Type-C соединение (например, мой новенький 43 дюймовый монитор PHILIPS 436M6VBPAB из таких – https://youtu.be/53iKsVHNcNE) – или же используя любой USB Type-C хаб с портом HDMI – у меня, например, есть такой дешевый UBS хаб-кредл, который я купил для Steam Deck и который выступает также и подставкой для устройства. И ONEXPLAYER 2 отлично вписался по габаритам в данную подставку – как будто китайцы что-то знали – и отлично подключается к внешнему монитору. А пока компания будет делать внешнюю панель для «большого» геймпада для боковых джойстиков ONEXPLAYER 2 – можно использовать для игры с дивана геймпад от того же XBOX, подключенный по Bluetooth.


Гаджеты: ONEXPLAYER 2 – достаем из коробки конкурента Steam Deсk на ADM R7 6800U и съемными стиками


Собственно, эта опция – трансформер – и есть основная выигрышная черта ONEXPLAYER 2, из-за которой я предпочел именно его другим, ранее упомянутым, платформам – GPD Win 4, AYANEO 2, AYN Loki Max (хотя еще и заказал себе по предзаказным ценам маленький AYN Loki Mini Pro на Intel i3 1215u – так, чтобы посмотреть и на то, на что способна конкурирующая и более дешевая платформа). Кстати, у AYN Loki есть и более дешевый вариант на AMD 6600U – кто хотел игровую мобильную платформу за 650у.е. – может побыстрее заглянуть по линку https://www.ayntec.com/products/loki-512-reservation – там открыт предзаказ…

Что же касается «базовой» платформы Steam Deck, от которой сейчас «пляшут» все китайские производители подобных игровых приставок – то, учитывая собственный печальный опыт эксплуатации Steam Deck, могу сказать, что новое поколение «китайцев» типа ONEXPLAYER 2 и ему подобных на платформе AMD 6800U с графикой 680M существенно превосходит Steam Deck в эксплуатации. И дело здесь не в более производительном «железе», а в том, что тот же ONEXPLAYER 2 получается универсальным устройством, которое можно использовать и как мобильное рабочее место (с теми же 32ГБ ОЗУ на борту, а главное – с универсальной Windows 11 – можно запросто «закрыть бэклог на выезде»), и как универсальная игровая платформа для того же Steam (как приложения), которая запускает ВСЕ доступные в библиотеке игры. Несовместимость игр из библиотеки Steam с Steam Deck, кстати, является основной проблемой использования Steam Deck, так, например, из моих 170 игр в моей библиотеке Steam совместимыми со Steam Deck оказалось только 30, т.е. около 20% от общего числа, причем вылетели именно старые добрые «ламповые» игрушки, в которые и хочется поиграть в дороге и на ходу. Так что ONEXPLAYER 2 дает 100500 очков форы Steam Deck в отношении универсальности работы и игры. «Залоченный» Steam Deck стоит 700 евро, тогда как универсальный вариант (да еще и трансформер, который превращается при необходимости в обычный таблет а-ля Microsoft Surface Pro) с в два раза большим объемом ОЗУ и SSD и новым поколением процессора/графики, в виде представленного ONEXPLAYER 2 стоит 1200 евро – и если это дорого для вас – тогда посмотрите в сторону того же упомянутого выше AYN – при тех же ОЗУ/памяти Loki c AMD 6600U стоит 650у.е., а Loki MAX c AMD 6800U – стоит 775у.е.

Так что да – портативная игровая консоль-трансформер ONEXPLAYER 2 пока что лучшая в своем классе, но есть некоторые НО – про это уже в подробном обзоре…

Гаджеты: достаем из коробки и тестируем стильный настольный сканер-лампу CZUR Aura Pro–удобная вещь для быстрого качественного сканирования и распознавания текста книг, документов до А3 и т.п.


Итак, CZUR Aura Pro – что это такое и зачем? После обновления настольных ПК – про новый “минисервер” MOREFINE S500+ смотрите здесь, а про новый миниПК MOREFINE M6 смотрите здесь – и игровых устройств – обзор портативной игровой консоли Valve Steam Deck смотрите здесь – пришло время обновить и офисную технику в домашнем офисе. И если старенький многофункциональный «комбайн» от Samsung – принтер-сканер-копир – еще вполне успешно выполняет функции по печати, то вот по сканированию и распознаванию текста, особенно в книгах – уже совсем не то. Да и задачи поменялись – приходится часто сканировать различные документы, буклеты и брошюры на 10-15 листов, а также хочу отсканировать экземпляры своих раритетных книг типа «Дирижабль нового поколения» издания 1983 года, и всякие там «Ядерное оружие» и «Реактивные самолеты» начала 1950х (и еще есть у меня), плюс различные инструкции LEGO, которым увлекся сын (смотрите все сборки на канале Оливера Аугуста) и уже спрашивает – а не пересобрать ли нам такой-то танк – потому я решил озаботиться сохранением всех имеющихся у нас инструкций на уже собранные модели LEGO в цифровом виде. И, как показал опыт – имеющийся сканер Samsung с этим справляется довольно медленно, а если идет разговор о чем-то, имеющим переплет – вообще отсканировать нереально. Потому посмотрел, что есть на рынке из новых «комбайнов» и отдельных сканеров (не интересовался этой темой около 10 лет) – и обнаружил для себя целый подвид «сканеров-ламп», предназначенных как раз для сканирования разворотов книг и имеющих очень даже интересные показатели производительности сканирования. А дальше – во многом сыграл свою роль внешний вид и дизайн этих «ламп» – и в результате поиска я остановился на сканере CZUR Aura Pro, распаковку и начальный обзор которого вы можете посмотреть в приведенном ниже видео – Гаджеты: достаем из коробки и тестируем стильный настольный сканер-лампу для книг CZUR Aura Pro.


Гаджеты: достаем из коробки и тестируем стильный настольный сканер-лампу для книг CZUR Aura Pro


Как описать CZUR Aura Pro в нескольких словах? – Представьте себе стильную дизайнерскую настольную лампу… Представили? – вот, это и есть сканер CZUR Aura Pro, распаковку и начальное тестирование которого вы можете увидеть в данном видео. И, самое интересное, что функции «стильной настольной лампы» CZUR Aura Pro также отлично выполняет. У CZUR Aura Pro присутствует соответствующий режим работы, который выбирается при помощи наличествующей на сканере кнопке-регулятора. Кстати, эта кнопка регулятор позволяет также регулировать и яркость освещения. Причем данный режим не простой лампы, а умной, управление интенсивностью и температурой света которой можно выполнять через специальное мобильное приложение. Так что «лампа» CZUR Aura Pro не будет просто занимать место на рабочем столе – ее можно с успехом использовать для комфортной подсветки рабочего места. А если свет не требуется – горизонтальную часть с лампами можно будет успешно сложить в стойку.


И, конечно же – главный режим работы CZUR Aura Pro – сканирование. Стоит значит себе такая «лампа» на столе, светит, никого не трогает – и тут вам понадобилось срочно отсканировать какой-то документ… И – стелим под «лампу» CZUR Aura Pro идущий в комплекте черный коврик на А3, переключаем нажатием кнопки на «лампе» в режим «сканер», запускаем на стоящем на столе ПК/Маке соответствующее приложение – и 14МПкс сканер формата А3 для документов и книг готов к работе. Располагаем документ по визуальным подсказкам на экране – и через 2 секунды получаем готовый скан.

Эти 2 секунды на сканирование – были одной из главных причиной выбора именно данного сканера CZUR Aura Pro в качестве замены традиционного сканера, который тратит на лист А4 секунд 30, если не больше. А вот следующие причины – еще интереснее.

Во-первых – это сканирование CZUR Aura Pro разворотов книг, несмотря на искажение текста из-за неравномерной поверхности разворота. Сканер имеет встроенную технологию распознавания «искривления» поверхности, базирующейся, как говорит сайт производителя, на использовании лазера, что после непосредственно сканирования позволяет правильно «выпрямить» поверхность, что, как видно в видео – дает очень хороший результат при сканировании и распознании текста.

Во-вторыхCZUR Aura Pro несколько изменяет представление о процессе сканирования относительно обычных «горизонтальных планшетных» сканеров – там положил разворот книги, придавил ее крышкой (поломав переплет) и жди, что получится. В CZUR Aura Pro книга свободно лежит вверх разворотом, и даже при наличии технологии «выпрямления» поверхности, часто приходится придерживать страницы, чтобы разворот книги не закрывался и не перелистывался сам. Для этого в комплект CZUR Aura Pro входят специальные «напальчники», которые представляют из себя небольшие пластиковые лопатки с кольцами для пальцев и специальной разметкой-кодом на наружной стороне. Этими напальчниками вы придерживаете края книги в более развернутом виде, а сканер, используя те самые коды при распознавании изображения, очень аккуратно вырезает изображение и напальчников, и самих пальцев из отсканированного разворота.

В-третьихCZUR Aura Pro имеет также опцию педали – да-да, самой настоящей педали, которая нажимается ногой – и опцию автоматического сканирования при переворачивании страницы. Зачем это, особенно педаль? А если вы двумя руками удерживаете разворот книги – кто нажмет кнопку скан? Вот для этого вам пригодится и педаль, и опция автоматического сканирования при перелистывании – причем обе опции могут работать одновременно.

В-четвертых – программное обеспечение CZUR Aura Pro обладает широким спектром распознаваемых OCR языков (которые, опять же видно на видео – отлично работают) и большим набором опций как для предобработки полученных сканов, том числе и в пакетном режиме. Порадовало также и качество распознавания текста – даже при очень плохом качестве текста оригинала – той же зачитанной книги «Дирижабль нового поколения» 1983 года издания с пожелтевшими и выцветшими страницами – результат превзошел все ожидания, имея очень малое количество ошибок в конечном распознанном документе Word. И, кстати, программное обеспечение не ресурсоемкое и вполне себе шустрое даже на мобильных процессорах типа Intel i5 10gen.

Так что, CZUR Aura Pro – со всех сторон плюсы – отличный сканер для книг, многостраничных документов размером до А3 с очень хорошей скоростью сканирования, при этом имеющий стильный дизайн, сохраняющий место на столе благодаря другому принципу работы и который может использоваться в промежутках между сканированием, как умная управляемая настольная лампа. Потому – рекомендую присмотреться к CZUR Aura Pro, другим моделям сканеров данного бренда или подобных ему моделям.

А на моем канале iWalker2000 смотрите продолжение обзоров CZUR Aura Pro – дальше речь пойдет об особенностях программного обеспечения и других возможностях сканера, о которых я упомянул в первом видео только вскользь.

GPD XP – начались продажи со скидкой новой мобильной игровой консоли GPD XP со сменными геймпадами и 4G



В продолжение темы анонсов различных интересных гаджетов – неожиданно появилася в продаже мобильная игровая консоль GPD XP – https://bit.ly/3bTYECl – хотя изначально ожидалось, что она будет продаваться по предзаказу, как тот же GPD Pocket 3 – https://youtu.be/npis-6hCSR4 – предзаказ на который открыт также 5 ноября. Главное в том, что сейчас GPD XP продается на официальной странице GPD на Ali со скидкой – https://bit.ly/3bTYECl – а 11.11, т.е. послезавтра – обещают еще скидки. Так что поторопитесь сделать себе закладочку в списке покупок на Ali, добавив туда GPD XP уже сейчас по данной ссылке – https://bit.ly/3bTYECl – и оплатив 11.11 😉


GPD XP – начались продажи со скидкой новой мобильной игровой консоли со сменными геймпадами и 4G


Что же касается самой GPD XP – то это модульная мобильная игровая консоль, основными особенностями которой являются ОС Android 11 с кастомизированной оболочкой и набором софта от GPD, сменные модули управления с различными наборами кнопок, триггеров и стиков (почему-то только с правой стороны), принудительное охлаждение процессора для достижения максимальной производительности (да-да, там стоит кулер, GPD знает толк в охлаждении мобильных устройств, как, например, в GPD Win 3 –
https://youtu.be/xEpjW8qH8C8 ), аккумулятор на 7000мАч, что должно обеспечить GPD XP до 12 часов непрерывной работы (правда, не указывают, под какими нагрузками) и поддержка двух нано-SIM для работы 4G сетями передачи данных (и нет, это не телефон, а только модем для данных, хотя, я думаю, функцию телефона любители кастомных сборок тоже быстро включат). В общем, устройство довольно интересное для любителей поиграть, хотя и не на топовых настройках, поскольку прошлогодний 8ми ядерный процессор MediaTek Helio G95 является компромиссным вариантом и соответствует по производительности примерно Qualcomm Snapdragon 765 – что, в принципе, не топ, но очень даже неплохо.



Лично мне консоль GPD XP интересна наличием съемного модуля управления от XBOX, что позволит гонять XBOX игры в режиме облачного стриминга xCloud – смотрите обзор игрового сервиса Microsoft XBOX Cloud здесь – https://youtu.be/AWqxDymYSMY . Причем играть можно будет и дома, лежа на диване – когда надоест сидеть в кресле рядом с одним из XBOX, так и в дороге, используя 4G модем. Второй сценарий использования – GDP обещала комплект эмуляторов старых консолей на GPD XP – вот и погоняем их тоже – вы же знаете, я люблю старые консольные игрушки и время от времени обновляю свои гаджеты-эмуляторы. И, наконец, 6.81″ экран с разрешением 1080х2400 очень даже неплохой вариант для просмотра фильмов – так что будет у меня и неплохая мобильная “смотрелка” 😉



И немного технических характеристик GPD XP:

  • Экран: 6.81-inch 1080х2400
  • CPU: MediaTek Helio G95, 8 Core
  • GPU: ARM Mali-G76 MC4 @900MHz
  • ОЗУ/Хранилище: 6GB LPDDR4x, 128GB UFS 2.1
  • Охлаждение: Кулер, активный режим
  • WLAN: 2.4 G / 5 G dual-band Wi-Fi
  • Передача мобильных данных: 4G/3G/2G dual nano-SIM
  • Порт/зарядка: USB Type C/20W PD 2.0 2.4 часа до полного заряда
  • Карты памяти: microSDXC, microSD, microSDHC до 2ТБ
  • Аккумулятор: 7000mAh



Покупать GPD XP – https://bit.ly/3bTYECl – я бы сказал, что однозначно ДА, особенно для любителей всяких PUBG – активное охлаждение – очень и очень серьезная штука и поможет в комфортной игре на хороших скоростях. Да и сменные модули управления помогут выбрать под руку. Кого не интересуют скидки на GPD XP сейчас – могут подождать, когда девайс приедет ко мне (а он уже в пути, по последнему трекингу – улетел из Китая самолетом) и посмотреть обзор и тесты, но тогда цена будет минимум на 60-70 евро выше. Так что вам решать 😉

Windows 11: установка и настройка встроенного ядра Linux в Win11, запуск Linux GUI приложений


Что было хорошего в поздних сборках Windows 10 и развивается в Windows 11 – это подсистемы Windows Subsystem for Linux (WSL), которая позволяет “нормально” запускать задачи Linux в Windows Pro без всяких виртуальных машин – фактически, ядро Linux в Windows работает параллельно с ядром самой Windows и может теперь пользоваться всеми аппаратными ресурсами ПК. Именно эти улучшения – работа с графикой и дисками легли в основу новой версии WSL в Windows 11 + также Microsoft существенно упростила процесс установки и конфигурации ядра Linux в Windows 11 Pro. Собственно – о том, как теперь просто установить и сконфигурировать WSL, о новой работе с GUI-приложениями Linux в WSL (про бета-версию я рассказывал еще в апреле 2021 тут – https://youtu.be/7Yz3fPuQH6k), о работе с дисками в WSL – и пойдет речь в данном видео.


Windows 11: установка и настройка встроенного ядра Linux в Win11, запуск Linux GUI приложений


Для тех, кому не терпится попробовать ядро Linux в Windows 11 Pro – вот вам небольшой перечень команд для установки и конфигурации самой системы WSL и Linux внутри:



* УСТАНОВКА WSL: запускаем командную строку Windows (PowerShell или CMD) с правами админа и в ней выполняем команду wsl –install . Данная команда скачивает все необходимые модули WSL, включает/конфигурирует другие вспомогательные службы Windows и после, ВАЖНО – скачивает из онлайн репозитория базовый дистрибутив Ubuntu (текущую версию) и просит перегрузить ПК.



если вы хотите установить другой дистрибутив при инициализации WSL, сначала просмотрите доступные сборки в репозитории WSL командой wsl –list –online, а потом при установке используйте команду –install с ключем -d имя_дистрибутива, например, wsl –install -d kali-linux – настроит WSL и скачает по умолчанию Kali Linux, как основной. Кроме того, в дальнейшем, выполняя команду wsl –install -d имя – вы сможете установить несколько дистрибутивов, переключаясь между ними.



если вы хотите поэкспериментировать с WSL в виртуальной машине – не забудьте включить для нее вложенную виртуализацию процессора, поскольку WSL использует аппаратную виртуализацию процессора для ускорения работы – и виртуальная машина тоже должна иметь доступ к данной функции в своих виртуальных процессорах. Так, если вы используете встроенный в Windows 10/11 Pro гипервизор Hyper-V (кстати, именно его я рекомендую и юзать) – то для включения вложенной виртуализации процессора достаточно на основном ПК выполнить в PowerShell следующую команду с правами админа – Set-VMProcessor -VMName имя_ВМ -ExposeVirtualizationExtensions $True – где имя_ВМ – это имя виртуальной машины в консоле Hyper-V. Сравнение производительности между виртуальной машиной с Linux и WSL я уже проводил тут – СофТы: тестирование производительности Linux в Windows Subsystem for Linux vs Hyper-V – https://youtu.be/P88GPegg7x0



* ПОСЛЕ ПЕРЕЗАГРУЗКИ ПК автоматически запустится консоль Linux в отдельном окне, которая уже закончит установку ядра дистрибутива и попросит у вас имя/пароль админа именно для данного дистрибутива. По окончании настройки – закройте окно и снова запустите командную строку Windows с правами админа и выполните там команду wsl –update – будет выполнено обновление движка WSL и если потребуется (будет показано сообщение о необходимости перезапуска WSL) – перезапустите WSL командой wsl –shutdown . Все, ваша WSL готова к работе.



Получить доступ к командной строке Linux вы сможете через соответствующую иконку в меню Пуск Windows, также, в отдельную папку для каждого дистрибутива, будут добавляться и иконки приложений, которые в него устанавливаются. Новый сервис WSL уже по умолчанию поддерживает работу с GUI приложениями Linux, так что там же вы найдете и иконки всех ваших графических приложений. Напомню, что устанавливать какую-то десктопную оболочку в дистрибутив или X-сервер на Windows вам не нужно, окна Linux приложений будут отображаться, как отдельные окна Windows. Про работу графической среды Linux в Windows я уже рассказывал как раз на примере бета-версии данной WSL – Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLg – https://youtu.be/7Yz3fPuQH6k



Теперь ждем еще одной подсистемы – Windows Subsystem for Android – для запуска Андроид приложений прямо под Windows, которая, кстати, будет базироваться на том же WSL (и умельцы и раньше уже запускали Android приложения через WSL). Так, постепенно, Microsoft превращает Windows в универсальную платформу для работы, и, что важно, для разработки и отладки решений. Посмотрим, появится ли Windows Subsystem for MacOS – в принципе, ничего сложного при имеющемся решении WSL. 🙂


Другие видео по Windows, облачным и серверным технологиям у меня на канале:

  • * Windows 11: переключаем новые контекстные меню Win11 в режим старых добрых меню Windows 10 https://youtu.be/gSh1Aqo4NTw

  • * Windows 11: тестируем хак с отключением TPM/CPU при установке Win11 на неподдерживаемое железо – https://youtu.be/mhJcG9h5xns

  • * Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 https://youtu.be/F-kmvcglLOI
  • * СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android https://youtu.be/KbLPMqjow5I
  • * Windows 11 – включаем и тестируем “Режим Бога” (God Mode) в Windows 11 – такой же,как и в Windows 10 https://youtu.be/bV79x-DvMGE
  • * Запускаем Windows 11 на Raspberry Pi 4 – как настроить RPi 4, создать и установить Win11, скоростьhttps://youtu.be/fH35VgyDpZk
  • * Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! https://youtu.be/AWqxDymYSMY
  • * Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?https://youtu.be/MG3zscrFvpE
  • * Срочно в номер! – обзор Windows 11 – что нового в утёкшей ранней сборке 21996, как установить в ВМhttps://youtu.be/mbLfpI5S4TQ
  • * Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLghttps://youtu.be/7Yz3fPuQH6k
  • * Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOpshttps://youtu.be/UOEmloeetfY
  • * Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Appshttps://youtu.be/a6VGeDUNYt4
  • * Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate,построение гибридой инфраhttps://youtu.be/vnQOSPrunKc
  • * Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentalshttp://bit.ly/Exam-Az-900

Установка Windows 11 на ПК без TPM/со старым CPU: тестируем хак с отключением TPM/CPU при установке Win11 на неподдерживаемое железо




Итак, Windows 11 официально доступна с 5 октября 2021 года и, как и обещала Microsoft, устанавливается только на ограниченный набор достаточно новых ПК – с процессорами Intel Core 7 поколения и выше и с обязательным наличием включенного модуля TPM (Trusted Platform Module) при установке ПК. Но, как всегда это бывает – данную проверку в процессе установки уже успели обойти, и сторонняя бесплатная утилита Media Creation Tool (MCT) теперь имеет дополнительные модули, которые позволяют выключить в создаваемом образе Windows 11 все “неправильные” проверки и таки установить Windows 11 на неподдерживаемое железо. В этом видео я постарался не только рассказать про сам процесс использования утилиты Media Creation Tool, но и провести небольшое исследование насчет того, что ожидает тех, кто рискнет установить Windows 11 на “кривое железо” и каких сюрпризов можно будет ожидать потом.


Windows 11: тестируем хак с отключением TPM/CPU при установке Win11 на неподдерживаемое железо



Итак, начнем с установки Windows 11 с обходом TPM – для этого вам нужно всего ничего:



* забираем саму утилиту Media Creation Tool c GitHubhttps://gist.github.com/AveYo/c74dc774a8fb81a332b5d65613187b15 – кликаем на кнопку Download ZIP в верхнем правом углу страницы и получаем архив со всеми нужными .bat файлами



* из архива на диск, где есть свободных 6ГБ места распаковываем файл MediaCreationTool.bat . Скрипт написан так, что он использует имя файла, как параметры, и у меня в примере он называется ‘iso 11 Pro MediaCreationTool.bat’ – если вы переименуете свой файл таким образом, то он будет сразу, без вопросов, создавать iso файл с Windows 11 Pro.



* запускаем полученный bat файл и выбираем версию ОС (11) и тип создаваемой установки – в идеале – USB – тула сразу для вас запишет USB флешку, или, как вариант в видео – ISO – для установки в виртуалку. При этом полученный установочный образ будет сразу иметь отключенную проверку TPM.



* используем полученный образ для “чистой, с нуля” установки Windows 11 на неподдерживаемое “железо” (без того же TPM).



* для ОБНОВЛЕНИЯ уже существующей ОС Windows 10 до Windows 11 на неподдерживаемом железе кроме уже упомянутого образа Windows 11 требуется и модификация текущего экземпляра ОС – в том же архиве с GitHub найдете два bat файла – Skip_TPM_Check_on_Dynamic_Update_v1.cmd и Skip_TPM_Check_on_Dynamic_Update_v2.cmd – распаковываем их на тот ПК, который будем обновлять.



* Прямо на ОС, которую планируем обновить до Windows 11, запускаем первый, V1 и пробуем запустить setup.exe из подготовленного ранее установочного образа (либо с подключенной флешки, либо с примонтированного ISO образа) – программа обновления Windows 11 проверит железо на совместимость и продолжит или ругнется на TPM/CPU



* если программа обновления ругается на “железо” – говорим остановить обновление и запускаем версию V2 скрипта – Skip_TPM_Check_on_Dynamic_Update_v2.cmd – и снова запускаем setup.exe из образа, который снова начнет процесс обновления.



* ВАЖНО! При обновлении утилита все равно обнаружит, что ваше железо не соответствует требованиям, НО предложит принять условия, что за сбои в работе Windows 11, ее полный слёт и потерю данных Microsoft ответственности не несет – просто соглашайтесь и обновление продолжится успешно.



Что дальше?! как показали эксперименты – все эти шаманские пляски с отключением проверки TPM при установке/обновлении – до одного места, Microsoft все равно в курсе про несовместимое железо и все следующие крупные обновления – типа следующей сборки – опять начинают все это дело с начала – т.е. снова происходит проверка совместимости железа и крупные обновления требуют “взлома TPM” для установки. Кроме того, пример Raspberry Pi 4 с установленной на ней Windows 11 Insider Preview четко показал, что инструмент полного отключения обновлений на “нежелательном железе” у Microsoft есть – заставить обойти ограничения на Raspberry Pi у меня так и не получилось, но пока – сборка работает (в режиме теста). И, как показывает опыт – этот режим самый опасный – через какое-то время ОС просто перестает грузиться и лечится все только полной переустановкой, даже установка поверх не помогает.



Так что хочу сразу предупредить – шаманские пляски с обходом проверки требований Windows 11 на несовместимых ПК могут в недалеком будущем закончиться плачевно – в какой-то момент система перейдет в режим тестовой работы (и как бы ни старались – МС знает, на каком железе идет работа) и после какого-то периода – полное выключение ОС с потерей возможности откатиться назад, сохранив настройки. А пока – я буду экспериментировать с Windows 11 Insider Preview на несовместимых ПК – посмотрим на поведение в будущем.


Другие видео по Windows, облачным и серверным технологиям у меня на канале:

  • * Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 https://youtu.be/F-kmvcglLOI
  • * СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android https://youtu.be/KbLPMqjow5I
  • * Windows 11 – включаем и тестируем “Режим Бога” (God Mode) в Windows 11 – такой же,как и в Windows 10 https://youtu.be/bV79x-DvMGE
  • * Запускаем Windows 11 на Raspberry Pi 4 – как настроить RPi 4, создать и установить Win11, скоростьhttps://youtu.be/fH35VgyDpZk
  • * Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! https://youtu.be/AWqxDymYSMY
  • * Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?https://youtu.be/MG3zscrFvpE
  • * Срочно в номер! – обзор Windows 11 – что нового в утёкшей ранней сборке 21996, как установить в ВМhttps://youtu.be/mbLfpI5S4TQ
  • * Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLghttps://youtu.be/7Yz3fPuQH6k
  • * Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOpshttps://youtu.be/UOEmloeetfY
  • * Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Appshttps://youtu.be/a6VGeDUNYt4
  • * Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate,построение гибридой инфраhttps://youtu.be/vnQOSPrunKc
  • * Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentalshttp://bit.ly/Exam-Az-900

Azure: автоматизация назначения Azure Policy для настройки Log Analytics скриптами Azure PowerShell



Обещанные «очень технические» видео по теме Azure на канале – пришло время поделиться некоторыми из личных скриптов и заложенных в них идеях и особенностях реализации той или иной функциональности Azure. В этом видео/посте – поговорим про реализацию автоматического назначения некоторых Azure Policy для конфигурации отправки различными объектами диагностики в Azure Log Analytics при помощи скриптов Azure PowerShell.


Azure: автоматизация назначения Azure Policy для настройки Log Analytics скриптами Azure PowerShell

Почему не с применением ARM Template? – да потому, что «заморочек» в работе с политиками через ARM Template, особенно если говорить о назначении имеющихся политик, да еще и в режиме «исправления» Remediation. Это и огромные нечитаемые «простыни» самого ARM Template вероятными ошибками при копи-пасте и «заморочками» при редактировании, и масса вопросов по описанию в том же (или отдельном) шаблоне всех необходимых учетных записей managed identity (principal) с раздачей им необходимых ролей в том же шаблоне, и процесс поиска и прописывания массы параметров вручную и прочие моменты типа «ручного участия» даже в назначении имен в том же шаблоне… Потому – скрипт, который управляет назначением выбранных политик – является куда меньшим «злом» с точки зрения процесса и более универсальным в работе, чем шаблоны, которые нужно потом очень внимательно править.

И напомню про пару  других моих детальных видео об автоматизации Azure с применением скриптов (с детальным разбором данных скриптов):

  • · Azure – подробный обзор универсального PowerShell скрипта для работы с Azure Log Analytics API – https://youtu.be/2AB-bIQl_4Q
  • · Закон Мерфи для кода или автоматическое копирование файлов между Azure Storage с Azure Logic Apps – https://youtu.be/jvWX6V92aCQ

Но вернемся к представленному Azure PowerShell скрипту, в задачу которого входит назначение политик (стандартных, встроенных в Azure) настройки мониторинга Azure Log Analytics для всех типов сервисов Azure, которые поддерживают данные настройки, на уровне выбранной подписки Azure (хотя в качестве области назначения политик может быть и ресурсная группа, и Management Group). В качестве политики используются встроенные политики Azure Policy, которые соответствуют шаблону имени ‘*diagnostic settings*Log Analytics*’, которые развертываются в режиме Remediation (effect = DeployIfNotExists) для своего типа сервисов.

Какие важные блоки в данном скрипте, на что обратить внимание при работе с назначением политик и использованием их в режиме Remediation (исправления) в коде Azure PowerShell:

  • · Простые операции получения списка нужных политик (или инициатив – набора политик) при помощи команды
    $mons = Get-AzPolicyDefinition | Where-Object { $_.Properties.DisplayName -like ‘*diagnostic settings*Log Analytics*’ }
    и работы с данным списком в цикле для каждого элемента.
  • · Проверка параметров для политики – напомню, что у политики есть свои параметры – большинство из которых – например, тот же режим работы политики – параметр Effect – является установленным по умолчанию в рекомендуемое значение, но вот для данного случая существует еще и параметр logAnalytics (которым назначается конкретное хранилище Log Analytics Workspace, куда направляются все логи) и который может иметь различные модификации имен. Потому – в скрипте проводится проверка точного имени параметра по шалону ‘logAnalytics*’ и формирование параметра на основе полученного имени.

    # get right name of policy’s parameter (typicaly named as logAnalytics or logAnalytics_1 or logAnalytics_param ) to setup required Log Analytics as destination storage
    $obj = $mon.Properties.Parameters
    $prop = Get-Member -InputObject $obj -MemberType NoteProperty -Name logAnalytics*
    # build parameter object
    if($prop)
    {
    $asparam = @{$($prop[0].Name)=$($logan.ResourceId)}
    }

  • · Формирование имени для назначения конкретной политики на основе строки описания политики, из которой по шаблонам извлекается название сервиса (описания для всех политик по управлению настройками диагностики стандартные и позволяют достаточно просто получить имя сервиса, для которого политика предназначена), для которого назначается политика, и после, используя полученное название – создается имя типа $name = “{0}-monitoring-assigned-byScript” -f $aname

    # Build the name of assignment based on substring with Azure service type in Policy’s description
    $aname = $mon.Properties.Description.Split(‘ for ‘)[1].Split(‘ to stream ‘)[0]
    $aname = $aname.Replace(‘ ‘, ”)
    # Workaround for some non-standard descriptions 🙂
    if($aname.Length -gt 32)
    {
    $aname = $mon.Properties.Description.Split(‘ for ‘)[1].Split(‘ and stream the logs to ‘)[0]
    $aname = $aname.Replace(‘ ‘, ”)
    }
    $name = “{0}-monitoring-assigned-byScript” -f $aname

  • · Назначение политики в режиме Remediation – обязательное указание параметров локации (параметр команды -Location) и привязки managed identity (-AssignIdentity) – $assignment = New-AzPolicyAssignment -Name $name -PolicyDefinition $mon -Scope $subsId -PolicyParameterObject $asparam -Location westeurope -AssignIdentity
  • · Ожидание создания учетной записи, привязанной к назначенной политики – требуется время, чтобы вновь созданная учетная запись была реплицирована внутри Azure AD и была доступна – поскольку без этого нельзя назначать требуемые роли на следующем шагу.

    # Assignment have to create Service Principal account and we need to check was account created before continue.
    # The new managed identity must complete replication through Azure Active Directory before it can be granted the needed roles.
    $prid = $assignment.Identity.PrincipalId
    $principal = Get-AzADServicePrincipal -ObjectId $prid
    while(!$principal -and $null -eq $principal)
    {
    Start-Sleep -s 10
    $principal = Get-AzADServicePrincipal -ObjectId $prid
    }

  • · Самая важная часть скрипта – при назначении политик через портал Azure выполняет операции по конфигурированию связанной учетной записи – назначение ролей – на фоне в автоматическом режиме, но когда используется PowerShell – команда New-AzPolicyAssignment только создает учетную запись, но не назначает для нее роли, которые потом требуются для выполнения политикой операций по исправлению конфигураций. Потому скрипт берет данные о ролях из описания политик (внутри каждой политики есть описание требуемых ролей (ID) для операций Remediation) и назначает роли для вновь созданных учетных записей. В случае, если речь идет не просто о политике, а об инициативе (наборе политик) – то тут скрипт просматривает еще и набор политик внутри каждой инициативы и уже из описания политики извлекает ID требуемых ролей (об этом вы найдете в конце видео, когда идет сравнение двух скриптов – для назначения политик и инициатив)

    # WARNING!!! workaround for assignment of the policy that requires remediation
    <#

When creating an assignment using the portal, Azure Policy both generates the managed identity and grants it the roles defined in roleDefinitionIds.

In the following conditions, steps to create the managed identity and assign it permissions must be done manually:

While using the SDK (such as Azure PowerShell)

When a resource outside the assignment scope is modified by the template

When a resource outside the assignment scope is read by the template

The following code iterates the policy definition in $policyDef for the roleDefinitionIds and uses New-AzRoleAssignment to grant the new managed identity the roles.

#>

# Get all policy’s definitions inside each policy in Initiative

$polDefs = $mon.policyDefinitionId

foreach( $polDef in $polDefs)

{

$policyDef = Get-AzPolicyDefinition -Id $polDef

# Use the $policyDef to get to the roleDefinitionIds array

$roleDefinitionIds = $policyDef.Properties.policyRule.then.details.roleDefinitionIds

if ($roleDefinitionIds.Count -gt 0)

{

$roleDefinitionIds | ForEach-Object {

$roleDefId = $_.Split(“/”) | Select-Object -Last 1

New-AzRoleAssignment -Scope $subsId -ObjectId $assignment.Identity.PrincipalId -RoleDefinitionId $roleDefId

}

}

}

  • · И, в заключение – назначение задачи по сканированию конфигурации существующих экземпляров сервисов на соответствие политике и исправлению (Remediation), если данное исправление требуется. Так же, как и в предыдущем случае, при назначении политики через интерфейс портала Azure – данная операция назначается в мастере назначения, а в случае использования скриптов – операция Remediation должна быть назначена отдельной командой явно. Кроме того, чтобы следить за ходом выполнения сканирования и исправления – скрипт выводит на экран текст команды с требуемым ID задачи.

    # Create a remediation for a specific assignment


$name = “Remediation_{0}-monitoring-assigned-byScript” -f $aname

$remtask = Start-AzPolicyRemediation -Name $name -PolicyAssignmentId $assignment.ResourceId -ResourceDiscoveryMode ReEvaluateCompliance

Start-Sleep -s 30

Get-AzPolicyRemediation -Id $remtask.Id

Write-Host “`r`nRemediation task $($remtask.Id) was configured!`r`n`t>>> Check state (ProvisioningState property) by >>> ‘Get-AzPolicyRemediation -Id $($remtask.Id)’ command`r`n”

Как я уже упоминал и в тексте, и в видео – при разработке собственных скриптов на базе данного примера рекомендую обратить внимание на то, как в скрипте автоматически генерируются имена для назначений – шаблоны будут отличаться, как формируется переменная с параметрами, которые используются для передачи политики (они, естественно, отличаются от политики к политике) и, конечно же, какие различия между скриптом, который назначает политики и тем, который назначает инициативы – там тоже есть свои нюансы.

Полный исходный код обоих скриптов, рассмотренных в видео – найдете в аттачменте к данном посту.


Другие доклады по облачным и серверным технологиям у меня на канале:

  • · ИТ-карьера – “ОТКРЫТОЕ СОБЕСЕДОВАНИЕ” – начинаем новый сезон 2021 – приглашаются все желающие – https://youtu.be/h0hk03xX_Z0
  • · Azure AZ-900 – онлайн семинар MUK – построение гибридной инфры с Azure Arc и Windows Admin Center – https://youtu.be/vJhuo7bc-Pg
  • · Azure AZ-900 – онлайн семинар MUK – Azure Security Center – обзор возможностей и конфигурирование – https://youtu.be/1Z3Z6XqJZsM
  • · Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOps – https://youtu.be/UOEmloeetfY
  • · Azure AZ-900 – онлайн семинар MUK – Microsoft Power Virtual Agents – создание эффективных чат-ботов – https://youtu.be/mez50o_m0oE
  • · Azure SALES – онлайн-семинар MUK – продажа сервисов Azure для различных сценариев кибербезопасности – https://youtu.be/YF7yKgCVLAA
  • · Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Apps – https://youtu.be/a6VGeDUNYt4
  • · Azure SALES – онлайн-семинар MUK – что такое PaaS службы баз данных Azure SQL и Azure Data Platform – https://youtu.be/38Y-TxFFqT4
  • · Azure SALES – онлайн-семинар MUK – планирование миграции в Azure, стоимость и службы гибридой инфра – https://youtu.be/j_LqwHeLDPY
  • · Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate, построение гибридой инфра – https://youtu.be/vnQOSPrunKc
  • · Закон Мерфи для кода или автоматическое копирование файлов между Azure Storage с Azure Logic Apps – https://youtu.be/jvWX6V92aCQ
  • · Azure Global AI Bootcamp (UAE) – рус.версия по Cognitive services с PowerShell, Functions, Logic Apps – https://youtu.be/7J4veWZqtpY
  • · Azure – онлайн-семинар MUK – использование сервисов Azure (Logic Apps, Functions, Cognitive) для RPA – https://youtu.be/YQiCfiivpBc
  • · Azure – онлайн-семинар MUK – основы Power Platform создание решений на Power Apps, Flows, Chatbots – https://youtu.be/DECMirInQ2I
  • · Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentals – http://bit.ly/Exam-Az-900

Гаджеты: Microsoft представила новую линейку Surface – Surface Pro 8, Surface Duo 2 и Laptop Studio



Итак, кроме новой ОС Windows 11 нас ожидают и новые устройства от Microsoft из линейки Surface (и не только) – которые, конечно же, будут работать под управлением Windows 11 (напомню, что на днях Microsoft обновила официальную утилиту, которая позволяет протестировать, будет ли ваш старый ПК работать с Windows 11 – смотрите подробнее в видео https://youtu.be/b3BJuq0L_uk ). А новые устройства из серии Microsoft Surface, как обычно – быстрее, мощнее, стильнее и, местами – очень даже интересно и инновационно. Так что давайте по порядку появления устройств в видео – пару слов о них, а подробнее – смотрите уже в данном видео.


Гаджеты: Microsoft представила новую линейку Surface – Surface Pro 8, Surface Duo 2 и Laptop Studio

Флагманом линейки Microsoft Surface, безусловно, является ее “основатель” – универсальный профессиональный планшет Microsoft Surface Pro, который получил 8ю версию с процессорами Intel i3, i5, i7 11го поколения (максимальный – i7 1185G7), при этом память будет теперь в вариантах 8ГБ, 16ГБ и 32ГБ (все равно мало, но для планшета – очень даже прилично) + хранилища 128/256/512ГБ или 1ТБ с возможностью расширения через дополнительный легкодоступный разъем M.2 NVMe. Полностью обновили дизайн Surface Pro 8 – теперь он больше похож на стиль Surface Pro X с дополнительными отверстиями вентиляции в торцах – систему охлаждения тоже переработали, чтобы как-то компенсировать “дурное тепло” i7 (по себе знаю на примере GPD Win 3 – https://youtu.be/xEpjW8qH8C8 ). От Surface Pro X к Pro 8 перешел и новый дизайн клавиатуры с новым Slim Stylus 2. И, судя по истории Microsoft – это лучший стилус на рынке сейчас (в паре с новым Microsoft Surface Pro 8). Основная улучшения нового стилуса – это более высокая отзывчивость и меньшее время отклика от стилуса + благодаря механизма микровибрации и алгоритмам – стилус симулирует реальное движение выбранного инструмента (карандаш, кисть, перо) по поверхности экрана. Все в восторге, говорят – лучший инструмент для дизайнеров/художников. В общем – новый Microsoft Surface Pro 8 получился эволюционным развитием линейки на новом процессоре, в новых конфигурациях и возможностью расширения + с интересными нишевыми фичами типа нового уникального пера.

Чтобы не очень много писать насчет ценовой политики Microsoft относительно каждого из рассмотренных новых устройств линейки Surface – оставлю здесь для удобства скрины с ценами с сайта Microsoft (не забывайте, что сверху надо будет еще накинуть налог, для Европы – это 20%). Итого, цены на разные Microsoft Surface Pro заявлены следующие:

Surface PRO - Screenshot 2021-09-24 083850


Следующим идет нишевая версия Microsoft Surface Go 3 с новым процессором 10го поколения с достаточно высоким ценником и оправдывает ее появление только желание дать “крепкий Windows планшет” каждому ребенку для учебы, развлечений и творчества. Честно говоря, говоря о таких вот мобильных решениях по цене 700уе – все же тут лучше “пляшут” различные другие производители подобных небольших устройств, особенно – китайские, предлагающие цену в 2-3 раза ниже.

Surface Go - Screenshot 2021-09-24 084125


Дальше – очень интересная экологическая инициатива от Microsoft – Ocean Mouse – мышка, которая сделана из вторично переработанного пластика, собранного в океане. Фактически, покупая Ocean Mouse – вы спонсируете программу очистки океанов от плавающего там пластика.


И теперь о самом интересном (как минимум – лично для меня) – мобильном двухэкранном смартфоне-раскладушке Microsoft Surface Duo 2.

Surface Duo 2

Да, Microsoft решил таки продолжить развивать эту серию и вторая версия Microsoft Surface Duo 2 получила новый процессов SD 888, 8ГБ ОЗУ и от 128ГБ до 512ГБ хранилища. Кроме того, добавили уже “стандартные для рынка 3 камеры” с оптической стабилизацией и хорошей оптикой и интересную информационную панель в торце, где находится механизм складывания экрана. Эта информационная панель – небольшой, узкий и вытянутый вдоль телефона экран – предназначен для отображения различных уведомлений, времени, информации о звонке и заряде батареи. На рендерах выглядит очень стильно.

Кроме того, Microsoft говорит об активной работе с разработчиками ПО, чтобы поддержать работу сторонних приложений на 2х экранах Microsoft Surface Duo 2 – на одном выводится общая информация, на втором – детальная (так, список почты и содержимое конкретного выбранного письма), или изображение на одном и опции/инструменты его редактирования на другом, или игра на одном и элементы виртуального геймпада на втором – в таком режиме уже работают на Duo 2 некоторые популярные игры.

Кстати, Microsoft активно рекламирует свой игровой сервис xCloud для стриминга игр XBOX (обзор смотрите здесь – Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! – https://youtu.be/AWqxDymYSMY ) со всеми устройствами.

Surface Duo 2 - Screenshot 2021-09-24 084415


И, наконец, новинка в линейке – новый Surface под названием Microsoft Surface Laptop Studio – мощный универсальный ноутбук для со всем, поскольку оснащен топовым мобильным i7 11gen процессором, до 32ГБ ОЗУ и NVidia RTX 3050Ti (только в топовых моделях). По названию можно понять, что это мобильная реинкарнация настольного мощного рабочего места Microsoft Surface Studio, в основном – заточенного под дизайнеров. Фактически, с Surface Laptop Studio, Microsoft решил распространить линейку Surface сразу на новые ниши ноутбуков – здесь и мобильный гейминг – поскольку есть все, что касается достаточной производительности в играх + обещают хорошее охлаждение, и дизайнерская работа – это и такой же экран с поддержкой нового пера, как у Surface Pro 8, и оригинальный механизм изменения расположения экрана в режим “стенда” или “планшета” для более удобной работы в режиме рисования или черчения, и разработка приложений (на которую также нацелен Surface Laptop Studio – мощный процессор и относительно много памяти (в топовом варианте) +  стильный дизайн – должны, по идее Microsoft, привлечь разработчиков к новому суперноуту.

Ложка дегтя – это ценник за 3К уе, маленький экран 14.4″ (очень слабо для видеоредакторов и работы с кодом) и всего 4ГБ в видюхе (что может создавать проблемы и в играх, и при работе с видео). Да и памяти, на мой взгляд, маловато будет – 32ГБ уже совсем не та цифра, которая нужна для серьезной работы – мне уже 64ГБ на моем “китайском минисервере” начинает не хватать – 37ГБ занятой памяти при “обычной” работе – а это я еще виртуалки для различных тестов не запустил. Так что нет, 32ГБ памяти лично мне для работы не выглядят привлекательными в настоящий момент.

37GBmem - Screenshot 2021-09-24 091320

И возвращаясь к нише игровых ноутов и мощных мобильных рабочих станций – все же новая модель моего Acer Predator Helios (эксплуатирую пред-предыдущий Acer Predator Helios 300 без остановки уже 2 года) будет попривлекательнее за меньшую цену. Хотя, это уже вопрос выбора… И вот вам те самые “завышенные” цены на Surface Laptop Studio

Surface Laptop Studio - Screenshot 2021-09-24 094223

Другие видео по Windows, облачным и серверным технологиям у меня на канале:

  • GPD Win3 i7/16GB/1TB – лучшая портативная игровая консоль на Win10 – распаковка, настройка и обзорhttps://youtu.be/xEpjW8qH8C8
  • ГадЖеТы: обзор Microsoft Surface Pro 7 (2020) – стоит ли покупать Surface и нужен ли он вамhttps://youtu.be/fQ9VJE7jHbI
  • Windows 11 – Microsoft обновила утилиту проверки совместимости PC Health Check App и требования к ПКhttps://youtu.be/b3BJuq0L_uk
  • * Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 https://youtu.be/F-kmvcglLOI
  • * СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android https://youtu.be/KbLPMqjow5I
  • * Windows 11 – включаем и тестируем “Режим Бога” (God Mode) в Windows 11 – такой же,как и в Windows 10 https://youtu.be/bV79x-DvMGE
  • * Запускаем Windows 11 на Raspberry Pi 4 – как настроить RPi 4, создать и установить Win11, скоростьhttps://youtu.be/fH35VgyDpZk
  • * Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! https://youtu.be/AWqxDymYSMY
  • * Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?https://youtu.be/MG3zscrFvpE
  • * Срочно в номер! – обзор Windows 11 – что нового в утёкшей ранней сборке 21996, как установить в ВМhttps://youtu.be/mbLfpI5S4TQ
  • * Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLghttps://youtu.be/7Yz3fPuQH6k
  • * Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOpshttps://youtu.be/UOEmloeetfY
  • * Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Appshttps://youtu.be/a6VGeDUNYt4
  • * Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate,построение гибридой инфраhttps://youtu.be/vnQOSPrunKc
  • * Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentalshttp://bit.ly/Exam-Az-900

Windows 11 – какие ПК буду работать с новой ОС Windows? – Microsoft обновила утилиту проверки совместимости PC Health Check App и требования к ПК




Microsoft обновила “окончательные” аппаратные требования к Windows 11 – из “плохих новостей” – требования по наличию TPM 2 и Secure Boot сохранились (как включить TPM и переконфигурировать установленную систему Windows под Secure Boot – смотрите в моем детальном видео – https://youtu.be/F-kmvcglLOI ), из хороших новостей – в список совместимых систем попали процессоры Intel Core 7го поколения и AMD Ryzen 2го поколения (при условии поддержки всех остальных требований типа TPM 2, который, кстати, начал массово появляться именно на платах 8го поколения Intel).


Windows 11 – Microsoft обновила утилиту проверки совместимости PC Health Check App и требования к ПК


И, наконец, самое главное – обновилась официальная утилита PC Health Check, скачать официальную утилиту проверки ПК на совместимость с Windows 11 можете здесь – https://aka.ms/GetPCHealthCheckApp – которая теперь приводит полную информацию о совместимости (или несовместимости конкретного ПК) с Windows 11 и что нужно поменять, чтобы оно “взлетело”. Утилита PC Health Check простая – скачиваем по линку выше, запускаем установку, ждем 20-30 сек, запускаем утилиту после установки (по умолчанию) и жмем кнопку Check now в утилите. А там уже – смотрим на результаты – по умолчанию показываются только несовместимые опции и ссылки, как это исправить.

Screenshot 2021-09-23 110254



А вот и те базовые параметры “железа”, на которых будет работать Windows 11



  • * Processor:  1 gigahertz (GHz) or faster with 2 or more cores on a compatible 64-bit processor or System on a Chip (SoC ARM Snapdragon 850 or higher).
  • RAM: 4 gigabyte (GB)
  • Storage: 64 GB or larger storage device
  • System firmware: UEFI, Secure Boot capable.
  • TPM: Trusted Platform Module (TPM) version 2.0.
    • как настроить Secure Boot и не сломать существующую систему и где включить TPM – смотрите в этом видео – Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 – https://youtu.be/F-kmvcglLOI
  • Graphics card: Compatible with DirectX 12 or later with WDDM 2.0 driver.
  • Display: High definition (720p) display that is greater than 9” diagonally, 8 bits per color channel.


Кстати, 22 сентября в 17:00 по Европе, Microsoft провела онлайн презентацию новых продуктов – скорее всего, это будут новые устройства серии Microsoft Surface под управлением Windows 11 – https://www.microsoft.com/en-us/event – запись и обзор обязательно будут на канале – смотрите здесь https://youtu.be/cEDSHN91aVc.



Другие видео по Windows, облачным и серверным технологиям у меня на канале:


  • * Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11
    https://youtu.be/F-kmvcglLOI
  • * СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android https://youtu.be/KbLPMqjow5I
  • * Windows 11 – включаем и тестируем “Режим Бога” (God Mode) в Windows 11 – такой же,как и в Windows 10 https://youtu.be/bV79x-DvMGE
  • * Запускаем Windows 11 на Raspberry Pi 4 – как настроить RPi 4, создать и установить Win11, скоростьhttps://youtu.be/fH35VgyDpZk
  • * Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! https://youtu.be/AWqxDymYSMY
  • * Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?https://youtu.be/MG3zscrFvpE
  • * Срочно в номер! – обзор Windows 11 – что нового в утёкшей ранней сборке 21996, как установить в ВМhttps://youtu.be/mbLfpI5S4TQ
  • * Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLghttps://youtu.be/7Yz3fPuQH6k
  • * Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOpshttps://youtu.be/UOEmloeetfY
  • * Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Appshttps://youtu.be/a6VGeDUNYt4
  • * Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate,построение гибридой инфраhttps://youtu.be/vnQOSPrunKc
  • * Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentalshttp://bit.ly/Exam-Az-900

ИТ-карьера, сезон 2021-22 – открытое собеседование на позицию Azure Admin – что нужно знать, ч.01




Итак, большое спасибо Алексею за участие в первом выпуске нового сезона “Открытое собеседование 2021-22”. Кстати, напомню, что все желающие могут принять участие в данном проекте – достаточно связаться со мной в том же LinkedIn – https://www.linkedin.com/in/iwalker2000/  – или в комментариях под видео – а подробнее о проекте смотрите в этом видео – https://youtu.be/h0hk03xX_Z0 – идея данных видео – дать всем ИТшникам, желающим развиваться в направлении администрирования Azure, представление о тех знаниях и навыках, которые потребуются для работы администратором Azure, а для тех, кто уже работает с Azure – проверить свои знания и навыки и быть уверенным в прохождении реальных собеседований на подобную позицию.


ИТ-карьера, сезон 2021-22 – открытое собеседование на позицию Azure Admin – что нужно знать, ч.01


Так что смотрите и развивайтесь профессионально. Кстати, меня спрашивали, а что делать тем, кто уже гуру в “наземной инфраструктуре” – как им легче переходить в Azure, чтобы не начинать все с начала и не выглядеть “старыми джуниорами” – думаю, такие “публичные собеседования” очень помогут тоже определиться, а вообще – планирую записать отдельное видео с “мэппингом” локальных технологий в облачные технологии и куда “копать” с точки зрения миграции знаний, чтобы не начинать с нуля.



В этом видео Алексею “выпал” следующий набор вопросов (с которым он очень даже успешно справился, а вместе с темами идут и ссылки на мои доклады по данным темам):


Думаю, такой список тем, ответы на которые есть в интервью + ссылки на более подробные доклады – поможет вам подготовиться к участию в данной инициативе или к сдаче экзаменов.



Примеры записей предыдущего сезона смотрите здесь:

  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.01 – https://youtu.be/HmpgQoahXTA
  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.02 – https://youtu.be/cFzd62vlB9M
  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.03 – https://youtu.be/DECMirInQ2I

СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android




Итак, про возможность запуска приложений Android на Windows 11 с использованием движка Windows Subsystem for Android (аналогично другому сервису Windows Subsystem for Linux, о котором я рассказывал ранее – https://youtu.be/7Yz3fPuQH6k) было заявлено на официальной презентации Windows 11 в июне – и даже показали красивое демо про установку Android-приложения из магазина Amazon, интегрированного с Microsoft Store, и как красиво все работает потом. И “потом”, в августе, Microsoft заявила, что Windows 11 выйдет в октябре 2021 без этой фичи, которая, кстати, была одной из немногих, что отличала Windows 11 от Windows 10 (ну, кроме “морды лица”). А вот сегодня по Сети прошло сообщение, что, как обычно – где-то утекла ссылка на отдельную установку Windows Subsystem for Android прямо из нового Microsoft Store – https://www.microsoft.com/en-us/p/windows-subsystem-for-android/9p3395vx91nr?activetab=pivot:overviewtab.


СРОЧНО В НОМЕР! – Windows 11 – в Сеть утекла Store-ссылка на установку Windows Subsystem for Android


Причем из интересного там – требования к системам, где указана Windows 10 22000 (текущая сборка Windows 11 уже 22449.100) И XBOX ONE!(!!!). НО! Не торопитесь воспользоваться данной ссылкой и устанавливать себе Windows Subsystem for Android в надежде запустить Android приложения на Windows. К сожалению – это “пустое” приложение – судя по размеру в 500КБ – всего лишь расширение движка облегченной виртуализации, без какого-либо Android окружения – скорее всего – для внутреннего использования с дальнейшей установкой сборок Android, как среды выполнения – как это сделано и в WSL. Напомню, что в аналогичной Windows Subsystem for Linux установка самой WSL ничего не дает, вы поверх должны скачать сначала специальный образ интересующего вас дистрибутива Linux из Microsoft Store и только после этого получаете возможность запускать приложения. Скорее всего, так будет и с WSA – вы сначала качаете специальный “обкусанный” образ Android от Microsoft под WSA с магазина, а дальше уже – система автоматом устанавливает в него нужные приложения из Amazon. Отсюда и такие минимальные требования к приложению WSA – 8ГБ ОЗУ – как раз для того, чтобы в облегченной виртуализации рядом с ядром Windows поднялось ядро Android и после – было еще пару гиг ОЗУ на запуск приложений. Такое наблюдается и при запуске Linux приложений в Windows через WSL – резкий прыжок потребления памяти до 4-6ГБ при старте первого приложения Linux и дальше уже – по потребностям приложений. И еще – такой вариант разработки – как отдельного приложения в магазине – говорит о том, что у нас есть шансы увидеть Windows Subsystem for Android намного быстрее, чем через полгода – после выхода следующей сборки обновленной Windows 11 – глядишь, и к Новому, 2022 году, доточат продукт.

Но особый интерес, если это не просто “разгильдяйство” при оформлении приложения в магазине, вызывает вариант с Subsystem for Android на XBOX. Если такое случится – то, получается, XBOX ONE станет самой универсальной игровой платформой, которая будет поддерживать и всю линейку своих игр (XBOX ONE/XBOX 360), и стриминг игр из облака xCloud (что такое облачный гейминг от Microsoft я уже рассказывал в одном из видео – https://youtu.be/AWqxDymYSMY ), и запуск оригинальных игрушек Android. Согласитесь, такая всеядность делает платформу куда более интересной и расширяет сценарии игр – не надо будет дома, чтобы погонять незаконченную в метро миссию, пялиться в крохотный 6″ экран, когда рядом стоит большой 60″ экран и есть удобный джойстик 😉 Но, как говорится, будем посмотреть. Ждем уже официальных релизов Windows Subsystem for Android на Windows и XBOX.



АГА! И совсем к плохим новостям – Microsoft, как и обещала, отключила раздачу новых Windows Insider сборок для несовместимых ПК и я пока никаких рецептов, как это исправить – не нашел. Так что слухи о том, что Microsoft “передумает и разрешит запускать Windows 11 на любых ПК” – пока только слухи. Факты говорят о другом – и моя Raspberry Pi 4 на Windows 11 уже не получает обновления. 😦



Другие видео по Windows, облачным и серверным технологиям у меня на канале:

  • Запускаем Windows 11 на Raspberry Pi 4 – как настроить RPi 4, создать и установить Win11, скорость – https://youtu.be/fH35VgyDpZk
  • * Вот это – круто! не то,что Windows 11 – Microsoft запустил облачный сервис XBOX Cloud – играют все! – https://youtu.be/AWqxDymYSMY
  • Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”? – https://youtu.be/MG3zscrFvpE
  • Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 – https://youtu.be/F-kmvcglLOI

ИТ-карьера–новый 2021 сезон инициативы “ОТКРЫТОЕ СОБЕСЕДОВАНИЕ”–проверь свои знания и навыки в Azure


Мой LinkedIn ►►► https://www.linkedin.com/in/iwalker2000/
Подписаться на канал ►►►
http://bit.ly/iwalker2000_subs
Открытое интервью ►►►
https://youtu.be/HmpgQoahXTA
ИТ-карьера сисадмина-2019 ►►►
https://youtu.be/eE-6AA3Cm6Q
Подготовка к AZ-900 ►►►
http://bit.ly/Exam-Az-900
ИТ карьера – что для этого нужно ►►► http://bit.ly/ITcarriera_
Еще про Azure и серверы ►►►
http://bit.ly/WindowsServer_overview

Хотите проверить свои знания по Azure? Понять, в каких разделах Azure у вас пробелы? Быть уверенными на собеседовании на новую позицию типа Azure Administrator/Engineer? Я запускаю на канале новый сезон инициативы “ОТКРЫТОЕ ИНТЕРВЬЮ” – к участию приглашаются все желающие. Шаринг виде – https://youtu.be/h0hk03xX_Z0 – приветствуется и добавляет +100500 в карму.


ИТ-карьера – “ОТКРЫТОЕ СОБЕСЕДОВАНИЕ” – начинаем новый сезон 2021 – приглашаются все желающие

Инициатива “ОТКРЫТОЕ ИНТЕРВЬЮ” – ЗАЧЕМ?

  • Обеспечить доступ ИТ-сообщества к оценке их профессиональных знаний и навыков для :
    • Пытаться понять индивидуальный уровень знаний в некоторых областях и найти «слепых пятна» в знаниях
    • Оценка перед сертификационными экзаменами
    • Имитация собеседований с реальными требованиями к реальной должности для подготовки к следующим карьерным ступеням
  • Предоставить интервьюируемому свою «карту знаний» и возможные способы дополнительного обучения, повышения уровня знаний (со ссылками на материалы).
  • Расширение знаний и навыков ИТ-сообщества путем обмена записанными сессиями «открытых интервью»


“ОТКРЫТОЕ ИНТЕРВЬЮ”– КАК?

  • «Открытое собеседование» представляет собой симуляцию реального 1–1,5-часового онлайн-собеседования (по Teams и т.п.), как типичное собеседование для какой-то «стандартной» ИТ-должности (для моего примера – L2 администратор службы поддержки Azure) с конкретными должностными обязанностями и требованиями (99 % близко к реальному)
  • «Открытое интервью» записывается и передается ИТ-сообществу любым подходящим способом.
  • Личность интервьюируемого может быть публичным или анонимным – по желанию интервьюируемого.
  • Главное условие – запись интервью будет опубликована вне зависимости от результатов и желания собеседника.
  • Собеседник не знает вопросов, только общие темы – например, ему задают только требования к должности (поскольку это имитация собеседования).
  • После самого собеседования – карта слепых пятен и личный путь обучения, ссылки, материалы будут предоставлены интервьюируемому (не для протокола, вне записи).

ИТАК, каждый желающий проверить свои знания по администрированию Azure путем прохождения “симуляции” реального собеседования на реальную должность инженера/администратора Azure уровня L2 – может связаться со мной по указанным выше профилям – в LinkedIn или YouTube – и мы договоримся об удобном времени такого “собеседования”.

Описание такой позиции Azure L2 Support Engineer (реальной) и требований к ней (также абсолютно реальные) – смотрите ниже. Все вопросы в “интервью” также взяты из реальных задач, с которыми приходится сталкиваться администратору Azure в ежедневной работе.

Job responsibilities

  • Work with presales Architects team and customer technical team to build LLD
  • Support customer migration project
  • Build ARM, DSC, Security policies based on customer requirements and reference architecture
  • Deploy Azure IaaS/PaaS solution.
  • Implement Automation, Monitoring, DR solutions in Azure.
  • Azure IaaS/PaaS (VM, network, storage, DB, security) troubleshooting
  • Continuous delivery infrastructure for managed customers as Infrastructure as Code.
  • Disaster Recovery.
  • Create new Automation solutions in respond to customer/L1/business requests.
  • Handover and train L1 team.

Required skills and experience

  • Knowledge in the recommended best practices and architectures of Azure — for example, Azure Virtual Datacenter — and the ability to tailor customer solutions to architecture and security requirements (IaaS/PaaS, O365).
  • Knowledge in networks concepts in Azure – VNET, VPN Gateways, ExpressRoute, Application Gateway/WAF, Firewall, Traffic Manager, Azure Front Door and hands on experience on planning, deploying and managing Azure Networks and Hybrid connectivity.
  • Knowledge in security concepts in Azure – Azure AD, IAM, VM / VNet hardening – and their practical application in the development of user infrastructures (IaaS/PaaS, O365) in Azure.
  • Practical knowledge and hands-on experience and skills in using Azure deployment tools – ARM template, az / PowerShell / DSC – and IaC concepts/processes. Scripting skills (powershell/DSC/cmd) for deploying IaaS and OS in virtual machines.
  • Practical knowledge, hands-on experience and skills in working with monitoring and support tools in Azure – ASC, AM, ASR, Automation. Skills and experience in developing scripts for Azure Automation runbooks.
  • Hands-on experience in the administration, support and resolution of problems in the Windows Server / Linux OS and practical experience in managing them using remote PowerShell.

Additional skills, knowledge and experience related to Azure or on-premises technologies are the big plus

  • Administer Azure AD / Active Directory on-prem
  • Windows Admin Center / Hybrid Infrastructure
  • Administer Office 365 / Exchange / SharePoint Server etc. office servers on-prem
  • DBA – Azure SQL / SQL Server etc. on-prem
  • MDM / MAM / Windows 10 using Intune / SCCM
  • Chef, Puppet, Ansible

Примеры записей предыдущего сезона смотрите здесь:

  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.01 – https://youtu.be/HmpgQoahXTA
  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.02 – https://youtu.be/cFzd62vlB9M
  • ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.03 – https://youtu.be/DECMirInQ2I

Windows 11 – вышел первый официальный билд Insider Preview 22000.51 – только изменения интерфейса + что пообещала Microsoft нового в Windows 11 на презентации 24 июня 2021 года



Итак, в рамках программы Windows 11 Insider Preview стала доступна первая ОФИЦИАЛЬНАЯ публичная сборка Windows 11 за номером 22000.51 – и, конечно же, я тут же обновил две своих тестовые машинки на эту сборку. Причем провел сразу два теста:


  • первая машина – это физический ноут с Windows 10 Insider Preview, которую вы видели в предыдущем видео про конвертацию “обычного” BIOS загрузчика в UEFI Secure Boot –
    https://youtu.be/F-kmvcglLOI – и переход с Windows 10 на Windows 11 Insider Preview прошел без проблем, хотя эта тестовая машинка довольно таки “загажена” всякими экспериментами и много чего на нее навешано – типа виртуализации, бета WSL2g, “песочницы” (кто не видел такую фичу в Windows 10 – рекомендую посмотреть – https://youtu.be/0XNo35PGdNY) и разных сторонних приложений, тех же X-сов и прочего. И все после такого апгрейда – прекрасно работает, что лишний раз подтверждает слова о том, что 11ка – это всего лишь 10ка с красивой мордой.
  • вторая машина – это виртуалка с установленной в ней “левой сборкой” Windows 11 21996, которая гуляла по Сети еще до анонса и которую вы могли видеть здесь – https://youtu.be/mbLfpI5S4TQ – в первом моем обзоре Windows 11. Идея в том, что я включил в ней тоже режим Insider Preview и она также вполне успешно проапгрейдилась на следующий билд 22000 – что очень даже хорошо, и все, кто установил сборку 21996 – смогут также включить себе режим Insider Preview и получить свежую Windows 11 уже сейчас.



Главный вопрос тут – а нужно ли?! Я про это уже писал и говорил – Windows 11 – это, фактически, Windows 10 c новой мордой лица. Местами – красивой, местами – не очень, где-то –  с удобными нововведениями, а где-то – с непонятками.


Windows 11 – вышел первый официальный билд Insider Preview 22000.51 – только изменения интерфейса 😦



Новая сборка Windows 11 отличается от уже показанной ранее пиратской сборки – https://youtu.be/mbLfpI5S4TQ – только переделанными эксплорером (который проводник/менеджер файлов) и менюшками Настроек (Settings). И если с настройками в принципе все ОК, сделали красивее, перенесли разделы, добавили некоторую функциональность типа истории заряда батареи (не может быть, после минимум 20 лет активного использования на ноутах!), убрали вообще раздел безопасности – наверное, будет свой Security Center – но в принципе, все изменения к лучшему, то вот с Проводником – вообще жесть. Так надругаться над уже ставшей привычной утилитой – это еще надо было придумать. Реально – красивые иконки при ухудшенном интерфейсе. Дизайнеров, а их там наверняка целая шобла, я бы сразу уволил за такое. Что с Проводником не так – да все не так, если смотреть с точки зрения улучшения процессов пользователей – про мой личный пример я рассказываю в видео.



Кроме того, Microsoft опубликовал новые комбинации клавиш, в том числе и для управления размещением окон – теперь это Win+Z – но зачем мне эта всплывающая менюшка с выбором схем размещения там же в углу – что мне мешает доехать мышкой, если и так придется? Почему нельзя показать такое меню “на месте”, сразу рядом с мышкой, чтобы мне потом не елозить ею в угол? Где логика? Да, и это тоже вопрос к “дизайнерам” нового продвинутого интерфейса.



Кстати, интерфейс еще и получил кучу ограничений того же taskbar’а – теперь он зафиксирован только внизу! и потерял массу полезных опций в контекстном меню – теперь оно доступно только по правому клику на иконку Пуск. В общем – сплошное разочарование интерфейсом.



Чего еще нет в Windows 11 из обещанного на презентации 24 июня – https://youtu.be/MG3zscrFvpE – это возможности запуска Android приложений и самого магазина для таких приложений от Amazon. Обещают доточить и добавить в следующих сборках. В любом случае, WSLg – запуск Linux приложений с графикой абсолютно нормально работает и сейчас в Win10 – https://youtu.be/7Yz3fPuQH6k – и уже проверил в Win11 – https://youtu.be/mbLfpI5S4TQ – потому не думаю, что будут какие-то накладки и с Android.



Ах да – еще заработала, после 22х лет обещаний (я про книгу Бизнес со скоростью мысли, где Билли говорил о том, что в скором времени компьютеры получат речевой ввод) – наконец-то в Windows 11 можно надиктовывать текст по-русски и оно довольно прилично его распознает. Правда, осталось разобраться с командными фразами – их списка так найти и не смог. Официальная документация отрицает возможность русскоязычного ввода 😉



В принципе – это и все из хорошего, что появилось в Windows 11 – и это печально… Конечно, буду дальше продолжать юзать Win11 – тем более что у меня ноут специально под Insider Preview выделен и от нее я никуда не денусь, но, думаю, каких-то специальных обзоров до появления модуля запуска Android про Win11 уже не будет…

Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?

24 июня 2021г, Microsoft провел официальную презентацию “новых возможностей” новой ОС Windows 11, которая, как было сказано – “определит будущее операционных систем для ПК на следующее десятилетие”… И если смотреть на презентацию – то это будущее не совсем уж радостное и уж куда ниже планки ожиданий к современной настольной ОС.

Да-да, вы сейчас увидите на других ресурсах хвалебные отзывы о новой Windows 11 в стиле – “вау, какие окошки, вау, какая бирюличка” – но в реальности, это всего лишь перелицовка экрана, а вот насколько новая ОС Windows 11 способна удовлетворить потребности современного пользователя – это, на мой взгляд, большой вопрос… Потому – давайте по порядку – чего же такого показал Microsoft в своей презентации, что действительно будет удовлетворять потребностям пользователей в течение следующей декады и, что само главное – что не показал Microsoft и куда было бы логично развивать решения для настольных ОС, учитывая развитие гаджетов и “облаков”:


Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”?

Из показанного:

  • перелицовка интерфейса – красиво и, как по мне – совершенно вторично в отношении того, чтобы говорить о том, что это “новая уникальная ОС будущего”
  • Из изменений в интерфейсе стоит отметить действительно удобные вещи типа управления расположением окон, новые настраиваемые независимо рабочие столы с запоминанием “своих” приложений, фишка “умного” разворота содержимого окон при повороте экрана планшета и наиболее интересная фича, которую можно было бы сделать уже давно и для этого не требовалось “создавать” “новую ОС” – это запоминание состояния окон на разных мониторах и при отключении/подключении монитора – рабочий стол теперь не превращается в набор непонятно где находящихся окошек, а все “становится, как было”. И ВСЕ! ЭТО И ВСЕ “УЛУЧШЕНИЯ” именно функциональности оконного интерфейса в Windows 11.
  • Другие функциональные изменения в Windows 11, показанные в презентации, тоже можно пересчитать на пальцах:
    • виджеты – которые планируются, как интерфейсы для сторонних сетевых/облачных сервисов и приложений/сайтов. Microsoft считает, что это поможет многим локальным бизнесам, новостям, сообществам лучше взаимодействовать со своими пользователями. Распространяться будут через магазин, что говорит о будущей модерации контента – т.е. если вы создадите “антипрививочный” портал или портал против “псевдопандемии” и захотите таким образом распространять ленту новостей для своих подписчиков – вас просто удалят из магазина.
    • auto HDR – очень классная штука, если говорить о том, что это аналог XBOX Series X – действительно, игры выглядят куда лучше и применяется к любым играм, даже если игра изначально не разрабатывалась с HDR. Остается только вопрос насчет “железа” – какие требования будут к видеокарте и монитору и насколько это будет влиять на общий fps игр.
    • приложения Android – это было, в принципе, ожидаемо после WSL2g – запуск графических приложений Linux под Windows 10, что не мешает запустить и ядро Android с соответствующими приложениями. Да и подобные работы Microsoft вела еще в ходе разработки Windows 10 Mobile.

А теперь поговорим о том, что ОБЯЗАНА уметь ОС нового поколения, чтобы соответствовать “требованиям новой декады”:

  • запуск приложений на одном ПК с отображением окна на другом. Все компоненты для этого есть и в Windows 10 – фактически, так работает WSL2g – сценарий прост – у вас дома стоит мощный лэптоп, но вы не хотите “таскать” его из комнаты в комнату и хотите с большим комфортом поработать с теми же данными или приложениями с планшета, сидя на диване – вы видите доступные приложения “там” и запускаете то, которое вам нужно – или просто продолжаете работать с уже запущенным на ПК. Масса других приложений – типа того же Steam и любая Unix-система такое умеет уже 35 лет, а вот современный Windows не будет уметь и в 202х годах.
  • миграция приложений – похожий с описанным выше сценарий – только уже запущенные приложения переносятся в текущем состоянии между работающими ПК, как это сделано для тех же виртуальных машин. Сценарий прост – вы работаете с приложение на своем ПК в офисе и уходя домой – “мигрируете” запущенные приложения “как есть” на лэптоп или планшет и продолжаете работать в дороге или мигрируете далее на домашний ПК.
  • Windows 11 on ARM для Raspberry Pi – вообще ничего не сказано насчет поддержки ARM платформ и энтузиастов на Raspberry Pi, хотя много бла-бла-бла про поддержку креативных людей и сообществ – но главные сообщества, которые делают платформу популярной на следующие 10 лет – молодых ИТ-энтузиастов – Microsoft старательно проигнорировала. А ведь им ничего не стоило создать официальную ARM сборку Windows 11 для Raspberry Pi 4 в формате поддержки, например, Insider Preview – кастомные сборки Windows 10 on ARM для Raspberry Pi ходят по интернету в больших количествах и вполне себе работают. Такая вот поддержка увлеченных людей – только на словах.

Другие мои видео по Windows, облачным и серверным технологиям у меня на канале:

  • Windows 11 – как проверить, будет ли работать Windows 11 на вашем ПК – TPM 2.0, UEFI и Secure Boot – https://youtu.be/Ee8aTEE9ULU
  • Windows 11 – конвертируем BIOS загрузчик старых Windows в загрузчик UEFI/Secure Boot для Windows 11 – https://youtu.be/F-kmvcglLOI
  • Windows 11: официальная презентация – реальность vs ожидания – “новая” ОС не так уж и “напакована”? – https://youtu.be/MG3zscrFvpE
  • Срочно в номер! – обзор Windows 11 – что нового в утёкшей ранней сборке 21996, как установить в ВМ – https://youtu.be/mbLfpI5S4TQ
  • Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLg – https://youtu.be/7Yz3fPuQH6k
  • Azure AZ-900-онлайн семинар MUK-Azure Infrastructure as Code IaC, ARM templates, BICEP, Azure DevOps – https://youtu.be/UOEmloeetfY
  • Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Apps – https://youtu.be/a6VGeDUNYt4
  • Azure – онлайн-семинар MUK – планирование миграции в Azure с Azure Migrate,построение гибридой инфра – https://youtu.be/vnQOSPrunKc
  • Что такое облачные технологии и подготовка к экзамену Microsoft AZ-900 Azure Fundamentals – http://bit.ly/Exam-Az-900

Windows 10 c ядром Linux (WSL2) "научилась" запускать графические GUI приложения Linux–демо, как WSLg запускает WSL Linux приложения типа Quake, Chrome, WPS, Steam, Kodi в Windows 10 без проблем



Я обещал больше технических видео про новинки софта на своем канале по возвращению – я делаю 😉 И отдельное спасибо Microsoft за новые оригинальные “фичи”, которые появляются в Windows 10, и, в частности, в WSL (Windows Subsystem for Linux). Про сам WSL 2 и его возможности по “родному” запуску приложений Linux прямо из Windows 10 я уже рассказывал здесь – https://youtu.be/cUM4UVum_Ck – и здесь – https://youtu.be/P88GPegg7x0 – но предыдущие сборки Windows Subsystem for Linux v2 работали по умолчанию только с консольными версиями Linux приложений и чтобы запустить графические GUI приложения от Linux – требовалось существенно пошаманить, иногда – без гарантии ожидаемого результата работы графики. Для шаманства, чтобы заставить работать WSL2 с графикой, использовались различные X-серверы для Windows типа Xming, но заботало оно кривовато.



И вот – в новой сборке Windows 10 Insider Preview 21364 появилась новая версия ядра WSL, которое теперь работает с графическими приложениями из коробки и не требует специальных плясок с бубнами – WSLg. Т.е. теперь практически любое GUI приложение Linux будет работать “в графике” в WSL2 сразу из коробки и рядом с “окошками Windows 10” c их традиционным оформлением вы будете видеть и окна в стиле X запущенных линуксовских приложение. Кстати, работает это все очень просто в ядре системы – специальный драйвер в WSLg выдает RDP Windows за X-сервер для запускаемых графических Linux приложений. Т.е. фактически – каждое окно Linux-приложения – это всего лишь сессия RDP к ядру самого хоста, в которую отправляет картинку WSLg. Решение простое и эффективное для базовых GUI приложений, Microsoft эффективно использует его уже много лет для публикации не всего рабочего стола, а отдельных приложений на RDS серверах и теперь еще и на Azure WVD, но есть одно НО… И это НО – производительность работы RDP сессии при активно меняющейся картинке, например, видео или игр. В принципе – оно тепримо, но особо видео не посмотришь и в игры с высокими FPS на таком Linux не поиграешь. Хотя Quake я таки запустил для демонстрации.



Windows 10 c ядром Linux (WSL2) “научилась” запускать графические GUI приложения Linux – демо WSLg




И о демонстрации в данном видео и “на попробовать самому” – как я уже говорил, особых действий после установки новой сборки Windows 10 Insider Preview 21364 (или новее) не требуется. Если WSL2 уже установлен – требуется обновить его ядро, если WSL2 еще не установлен – установить само ядро Linux WSL2 в Windows 10 и установить какую-то из сборок Linux с поддержкой WSL2. Как это делается – описано в документации –
https://github.com/microsoft/wslg#welcome-to-wslg – буквально одна команда – или wsl –update , или wsl –install -d Ubintu (или другой дистрибутив из списка на выбор wls –list –online). Кстати, где-то в траблешутинге встречал упоминания о том, что пока нормально работают с графикой сборки только Ubuntu 18/20 (и просто Ubuntu – это ссылка на последнюю стабильную версию) – так что установить Ubuntu для теста WSLg рекомендуется. А дальше – следуем рекомендациям в той же доке https://github.com/microsoft/wslg#install-and-run-gui-apps – и устанавливаем различные тестовые GUI приложения Linux, типа gedit, chrome, edge и прочих. Кстати, я поступил по другому – я просто из примера сделал шеловский скриптик и запустил его. Кроме того, чтобы было более интересно – я также установил Quake (.pak файлы взял скопировал в WSL через nautilus из оригинального Quake, который есть у меня в Steam), различные офисные пакеты типа WPS и LibreOffice, Kodi для Linux и, конечно же, сам агент Steam.



Результаты тестов вы можете видеть в самом видео – все работает без каких-либо проблем, достаточно шустро, особенно, если учитывать, что для записи я подключался к ноуту, на котором у меня стоит Windows 10 Insider Preview, через RDP, а, как я уже говорил выше, WSLg само по себе тоже RDP сессия – так что о том, что бывает с графикой, когда запускаешь видео в RDP, которое уже в RDP – думаю, вы знаете не по наслышке. НО, не смотря на то, что в Steam у меня нет приложений для Linux – очень порадовал режим стриминга игр на Linux агента Steam в WSLg (причем, с того же компа, на котором я вел запись) – удивительно хорошо шла картинка и никаких неудобств в игре я не чувствовал. Конечно, практического применения такая работа Steam не имеет, но как демонстрация возможностей WSLg – очень даже.


Хочу также обратить внимание, что все запущенные Linux GUI-приложения отображаются не только как сессии RDP, но и появляются в виде значков в строке задач Windows 10:

image

Кроме того, все установленные в WPS сборки Linux приложения автоматически добавляются в виде иконок/ссылок в меню Старт Windows 10 – так что в реальности – не обязательно даже будет заглядывать в консоль WPS и запускать приложения оттуда – Windows 10 по клику на иконку сама запустит нужную сборку и сессию для приложения в ней. А в меню Старт установленные Linux-приложения выглядят примерно так:

imageimage

и запросто находятся тем же поиском Windows 10 в панеле задач, чтобы меньше кликать и скролить:

image

А каковы перспективы практического применения WSLg – смотрите в видео, думаю, с таким подходом скоро и Android Apps “поедут” на Windows 10. Но, если серьезно, особых перспектив массового использования WSLg и графических приложений Linux в Windows 10 конечными пользователями не ожидается. Это, скорее, удобный инструмент для разработчиков и ИТ-специалистов, который теперь позволяет иметь на рабочем столе Windows 10 инструменты с любой платформы без всяких там виртуальных машин и делает Windows 10 вполне такой действительно универсальной платформой.

Предыдущие видео про Windows Subsystem for Linux:

  • “Microsoft выпустил Windows 10 с ядром Linux” или как работает WSL2 в новой Insider сборке – https://youtu.be/cUM4UVum_Ck
  • СофТы: тестирование производительности Linux в Windows Subsystem for Linux vs Hyper-V – https://youtu.be/P88GPegg7x0
  • Windows 10: установка и настройка хакерского Kali Linux в Windows 10, как приложения WSL – https://youtu.be/RKFSJRSnLBw

Облачные Managed Services – часть 2 – технологические отличия от "традиционных"​ Managed Services


Продолжаю тему «цифровой трансформации» в отношении к современным облачным Managed Services, которую я, пользуясь личным практическим опытом, частично осветил в первой части данной статьи. Напомню, там речь шла о концептуальных и стратегических отличиях новых облачных Managed Services от традиционных «динозавров» Managed Services, вкратце:

  • Поставщики облачных Managed Services выступают «головой», а не «руками» заказчика и концентрируются не на том, «чтобы все виртуальные машины работали», а на консультационной помощи заказчику по миграции в облака и модернизации приложений в формат «нативных» решений. Фактически, поставщик современных облачных Managed Services для заказчика – это, как модно говорить сейчас, «Trusted Advisor» по всему, что касается облаков.
  • Облачные Managed Services отвечают за SLA бизнес-процессов, а не за непонятный для бизнеса заказчика SLA времени ответа на запрос. Задача современных Managed Services обеспечить желаемый SLA для критического сервиса/приложения заказчика, используя все доступные средства облака и способствовать модернизации приложений.
  • Поставщик современных облачных Managed Services работает с заказчиком по принципу «непрерывного проекта миграции и модернизации», обеспечивая постоянное внедрение новых служб, решений и модернизацию существующих без переключения на «сторонние проекты».
  • Поставщик современных облачных Managed Services работает в непрерывном контакте с заказчиком, имея в команде технического менеджера, который поддерживает регулярную коммуникацию с заказчиком, знает о всех его планах и проблемах, обеспечивает координацию с различными командами и вендорами заказчика и управляет ресурсами своей команды и текущими проектами.
  • И, наконец, «цена вопроса» за услуги Managed Services, которая формируется не путем подсчета «виртуальных машин по головам», а в проценте от общей суммы утилизации Azure клиентом.

А в этой части мы поговорим о технологических и процедурных отличиях современных облачных поставщиков Managed Services по сравнению c «динозаврами» «традиционных» Managed Services.

В предыдущем посте я уже писал, что облака вообще и Azure в частности «добавляют новый, не достижимый ранее, уровень гибкости для Managed Services благодаря своим сервисам уведомлений, мониторинга, автоматизации, автоматического поддержания здоровья и безопасности поверх таких возможностей облаков, как эластичность, масштабируемость и отказоустойчивость». И ключевое слово тут – «совершенно новый уровень мониторинга и автоматизации».

Такой мониторинг и автоматизация в первую очередь должны быть направлены на обеспечение требуемого SLA для критических бизнес-сервисов и приложений заказчика, о котором говорилось в предыдущей части. И, учитывая специфику и возможности мониторинга в Azure и сервиса Azure Log Analytics – основной отличительной чертой современного провайдера Azure Managed Services является проактивный мониторинг с предсказанием тенденций по тем или иным показателям критических приложений и/или поиском аномалий в текущих показателях. Звучит красиво и непонятно, а в реальности – Azure Alert, который базируется на нескольких командах в запросе KUSTO к нужным данным, которые хранятся в таблицах Azure Log Analytics – и мы получаем, например, тенденцию уменьшения свободного места на диске исходя из показателей мониторинга последних 15-30 минут, часов, дней – в зависимости от того, насколько высоки требования к SLA решения и как «чутко» нам нужно реагировать на возможное отсутствие дискового пространства для серверов приложений и сколько за это готов платить заказчик. Напомню, что каждый такой Alert с запросом и собственно, время работы вызванной после процедуры Azure Automation стоит денег, пускай это идут центы, но при активном использовании с минутными интервалами – может набегать ощутимая сумма.

Сценарии применения такой «предсказательной» автоматизации – бесконечно обширны благодаря инструментарию управления в Azure. Конкретный пример с предсказанием окончания места на диске за несколько дней до критического значения (обычно 5-10%) в реальных инфраструктурах – это и оправка уведомлений всем заинтересованным лицам + создание «тикета» в системе управления того бизнес-приложения, у компонентов которого место на диске подходит к концу, и запуск Azure Automation runbook, который в ближайшее окно обслуживания остановит, если возможно, проблемную виртуальную машину и увеличит размер диска на ней. Другой сценарий – это предсказание изменения нагрузок (кол-ва запросов) на том же Azure Application Gateway, чтобы предварительно увеличивать/уменьшать количество работающих экземпляров App Gateway в зависимости от недельных/сезонных и общих тенденций, что позволяет обеспечивать и высокую доступность решения, и экономить деньги клиента, подстраивая количество экземпляров под реальные потребности. И да, я в курсе про autoscaling для App Gateway, но как показывает опыт – всегда стоит держать +1 экземпляр в горячем режиме про запас – потому что автоматическое масштабирование не успевает реагировать на те же атаки или даже просто резкий скачек нагрузки при каких-то онлайн событиях. А вот такие онлайн события по расписанию очень легко предсказывать на недельном форекасте и реагировать за 15-30 минут до их начала расширением пула и экземпляров App Gateway, и App Services, и SQL Database DTU, и прочих компонент приложения.

Интересной особенностью Azure Monitor и Azure Log Analytics является Azure VM Insights – возможность «заглядывать» в то, что происходит на уровне ядра OS виртуальных машин и получать информацию не только о показателях производительности базовых компонентов, но и, например (еще один реальный сценарий), мониторить и предсказывать «всплески» высокого уровня задержек сетевых соединений (outbound connection latency) процессов приложения при запросах между виртуальными машинами, на которых находятся компоненты приложения, или к базам данных. Опять же, зная суточные/недельные/месячные тенденции и текущие показатели – очень легко предсказывать возможные «залипания» соединений и быстро реагировать на проблемы путем увеличения количества виртуальных машин требуемого типа в пуле приложения. И да, заметьте, тут для масштабирования используются не стандартные показатели типа CPU/RAM/Disk или даже число запросов, а именно тот показатель, который может серьезно влиять на доступность и производительность приложения, не смотря на отсутствие явных признаков высокой утилизации конкретной виртуальной машины и всего решения в целом.

И чтобы не быть голословным (все-таки техническая часть) – вот вам небольшой пример того самого запроса KUSTO к Azure Log Analytics с визуальным предсказанием нагрузки App GW, который отображает общую почасовую тенденцию изменения трафика на App GW в следующие 3 дня исходя из истории предыдущих 5 дней:

let min_t = toscalar ( AzureDiagnostics | where TimeGenerated > ago(5d) | summarize min(TimeGenerated));

let max_t = toscalar ( AzureDiagnostics | where TimeGenerated > ago(5d) | summarize max(TimeGenerated));

AzureDiagnostics

| where TimeGenerated > ago(5d) and ResourceType == “APPLICATIONGATEWAYS” and OperationName == “ApplicationGatewayAccess”

| make-series Requests_H = count() on TimeGenerated from min_t to max_t+3d step 1h

| extend forecast = series_decompose_forecast(Requests_H, toint(3d/1h),0)

| render timechart

Визуальный результат будет выглядеть так, где синий график – текущие показатели количества запросов к сайту за прошедшие 5 дней, а красный график – предсказание тенденций изменения трафика на следующие 3 дня:

clip_image002

А дальше – выполняя такие запросы по расписанию (и помним о цене запроса) и оценивая тенденции или находя аномалии – запускаем в случае критических показателей требуемые скрипты Azure Automation или других продуктов, которые внедрены в процессы компании.

Проактивный мониторинг инфраструктуры – это отличное средство обеспечения требуемых SLA, но не стоит игнорировать и стандартные средства эффективной реакции на проблемы инфраструктуры и приложений в Azure, такие, как уведомления/предупреждения о проблемах (служба Azure Alerts, являющаяся частью Azure Monitor) и автоматической проверки здоровья (Health checks/auto-healing, опции различных служб), работающие в той же связке с Azure Automation для реакции на события путем запуска требуемых Azure Automation Runbook.

На рынке существует достаточно большое количество решений, обеспечивающих сбор и мониторинг данных по работающей инфраструктуре в Azure, но в большинстве своем – это универсальные системы, строящие «красивые отчеты» и «дашбоарды» для различных компонентов, в то время, как для современных облачных Managed Services важно гарантировать SLA клиентского сервиса в целом, что уже упоминалось в первой части статьи. Потому для доведения решения до требуемой кондиции – контроля за SLA и реакции на возможные проблемы – все равно требуется доводка таких универсальных систем «напильником». И, как показал опыт – подстраивать сторонние готовые универсальные мониторинга системы под задачи конкретного заказчика – весьма утомительно и, часто, очень проблематично ввиду особенностей архитектуры этих систем. Кстати, об архитектуре систем – практически эта архитектура требует в тенанте (даже не подписке) заказчика наличия учетных записей с такими правами, на которые служба безопасности заказчика категорически не согласна. Так что приходится все это решать средствами собственных скриптов, объединяя с упомянутыми выше очень даже функциональными сервисами Azure. Как работает такая связка – я постарался вкратце рассказать в ходе недавнего онлайн семинара по Azure Automation и Azure Monitor/Log Analytics – https://youtu.be/a6VGeDUNYt4


Azure AZ-900 – онлайн-семинар MUK – обзор Azure Automation, Monitor, Log Analytics, Logic Apps

Таким образом, современные Azure Managed Services базируются на обширном репозитории шаблонов скриптов и запросов, которые можно быстро адаптировать под потребности конкретного заказчика и задача команды современных облачных Managed Services – активно расширять и оптимизировать данный репозитарий.

Интересным аспектом является модный ныне DevOps, о котором столько разговоров. И да, вы правильно сделали выводы – если я не начал с самого начала нахваливать DevOps – он действительно не играет существенной роли в предоставлении Managed Services (если, конечно, вы не предоставляете DevOps, как одну из услуг Managed Services). Тот же практический опыт показал полное отсутствие каких-либо преимуществ применения DevOps перед традиционными средствами развертывания и управления инфраструктурой в Azure – типа шаблонов ARM, Azure Automation, DSC – для предоставления тех же услуг развертывания инфраструктуры в рамках Azure Managed Services. Почему так? – Да потому, что большинство инфраструктур заказчика стабильны и меняются не так часто, потому репозитория ARM шаблонов вполне достаточно и для начального развертывания, и для дальнейшей модификации/восстановления при сбоях. Что же касается программной части – тех же Azure Apps Services, Azure Data Platform, Kubernetes и прочих – в задачу Azure Managed Services входит их мониторинг и поддержка, а начальное «запиливание» кода в большинстве случаев – это ответственность команд разработчиков (причем, чаще – во множественном числе), которые работают над своим продуктом и со стороны поставщика Azure Managed Services им требуется готовая инфраструктура самой службы DevOps, настроенные системы мониторинга и реакции на проблемы со стороны Azure. Очень часто – разработчики вообще не представляют, какие функции управления инфраструктурой того, что они «наворотили», имеются в Azure и именно «обвес» мониторинга и высокой доступности всего решения в целом – куда входят и Application Gateway/WAF с CDN, и App Services с базами данных и хранилищами, и средства управления масштабированием и здоровьем, и репликации, а не отдельный экземпляр App Services – и является зоной ответственности команды Azure Managed Services и требует постоянного взаимодействия с командой разработчиков и разработки спецификаций, которые позволяют упростить процесс работы такой инфраструктуры и которым должны следовать разработчики в архитектуре своего решения.

Так что DevOps – это скорее нет, чем да… Или вы «подхватываете» у заказчика, а вернее – его поставщиков – функции разработки и DevOps по совместительству. Но это уже совсем не та история, которая про Azure Managed Services.

А вот следующая часть «той истории» современного облачного поставщика Azure Managed Services начинается в последних предложениях про DevOps о спецификациях – это называется Operational Excellence (OE) – по-русски звучит коряво – «Операционное Совершенствование» – потому буду использовать в тексте аббревиатуру OE. Operational Excellence я бы назвал одной из основных составляющих успеха после того, как вы наработали у себя в облачных Managed Services необходимый минимум репозитория шаблонов скриптов и дальше развиваете свой бизнес. Какие первоочередные задачи стоят перед OE в данном случае? Во-первых – это работа над спецификациями типа LLD benchmark checklist, Developers benchmark checklist и т.п. Все эти спецификации должны определять списки требования к архитектурам, которые планируют для ваших заказчиков либо ваши коллеги из Professional Services, либо разработчики заказчика, либо непосредственно ваши сотрудники, работающие в Managed Services. Такие OE спецификации для планирования решения чаще всего содержат в себе требования к наличию различных компонентов мониторинга и управления в дизайне по умолчанию. Например, для Azure LLD OE benchmark checklist это проверка архитектуры на:

· Наличие Azure Monitor Alert, который уведомляет о глобальных проблемах всех служб Azure

· Наличие Alert для критических значений вместимости и производительности для всех компонентов

· Наличие требуемых служб мониторинга – Azure VM Insights, Application Insights, Azure Log Analytics, Azure Security Center для критических компонентов

· Наличие карты требуемых процессов обслуживания

· Наличие автоматизации рутинных процессов с использованием Azure Automation

· Наличие карты зависимостей критических приложений, для которых будет требоваться SLA

· Наличие плана восстановления после сбоев

· Наличие списка других объектов/процедур, которые являются критическими в инфраструктуре и т.п.

Следующая часть OE – это внутренние процессы, такие, как контроль за процедурными документами и их соответствию текущему статусу инфраструктуры, улучшение основных процессов поддержки SLA путем внедрения результатов анализа каждого сбоя – Root Cause Analysis (RCA), и, самое главное – это наличие процессов анализа обращений клиентов с целью обнаружения типовых обращений и создания на их основе новых автоматических процедур или решений, которые обеспечивают доступ к требуемой информации/операций посредством порталов или приложений самообслуживания.

И да, Operational Excellence – это моя «боль», поскольку даже при очень хорошо продуманных процедурах, особенно внутренних – надо еще научить коллектив соблюдать эти процедуры. И здесь, опять же – приходит на помощь и автоматизация бизнес-процессов, и, конечно же, правильные KPI. Но это уже тема следующей части про действительно современные и актуальные облачные Managed Services.

Зато есть еще одна, упомянутая выше, технологическая часть Azure Managed Services, которая существенно отличается от «традиционных» – поскольку мы работаем с облаками и, как уже говорилось в первой части, не блокируем полностью клиентский доступ к инфраструктуре – тут у нас открывается обширное поле деятельности для создание решений по самообслуживанию, особенно, если OE работает и вы быстро определяете базовые рутинные потребности в обслуживании для каждого клиента Azure Managed Services. Что дальше? Безусловно – автоматизация или применение современного удобного инструментария/платформ разработки решений, которые позволяют максимально ускорить взаимодействие заказчика с его же инфраструктурой.

К чему это я? Все очень просто – такими инструментами и платформой для создания решений самообслуживания являются и сам Azure с его Log Analytics, Logic Apps, Automation, Functions, Cognitive Services, и платформа Power Platform c Power Apps, Power Virtual Agents. Применение Power Apps позволяет очень легко и просто предоставить заказчику, особенно менеджменту, простое приложение-панель информации для мобильных платформ (телефонов и планшетов) – наиболее востребованная, как показывает опыт и анализ запросов, функциональность – «хотим видеть на телефоне прямо в реальном времени состояние всех приложений и их компонентов (светофорчики)». Используя Power Apps и средства типа Log Analytics и Functions, которые вызываются из Power Apps – создание такого приложения занимает считанные дни, модификация – часы, а публикация – минуты. При этом такое простое приложение имеет громадный позитивный эффект на лояльность и удовлетворенность менеджмента заказчика предоставляемыми Azure Managed Services.

Второй сценарий – это автоматизация стандартных технических запросов от инженеров заказчика, которые обслуживают непосредственно приложения, обычно – внутри виртуальных машин и лезть куда-то в незнакомый портал и отвечать за «поломанное» им совершенно не интересно. Опять же, как показала практика – самый эффективный способ быстрой реакции на запрос – это автоматизация обработки почтовых сообщений, в которых с простым синтаксисом описываются требуемые операции, такие, как создание виртуальных машин или команды к существующим, изменение конфигураций NSG, App Services, Application Gateway, запросы на отчеты и многое другое. А далее – используется Azure Logic Apps, которые управляют данным процессом, с запросом (если требуется) подтверждений операций как со стороны ИТ заказчика, так и инженера поддержки команды Azure Managed Services. И после прохождения всех формальностей – такое электронное письмо разбирается через Cognitive Services, проверяется на предсказание возможных последствий или наличие аномалий для SLA и сами операции выполняются средствами Azure Automation, Functions и Log Analytics. Подобные сценарии я рассматривал в упомянутом ранее видео про автоматизацию управления Azure – https://youtu.be/a6VGeDUNYt4

Опять же, как и в варианте с Power Apps, на разработку бизнес-процесса требуется несколько дней, после чего уже технические специалисты заказчика остаются очень довольными простотой взаимодействия. Сразу скажу, что особым хитом сезона являются всякие там запросы на отчеты по email – написал имя виртуальной машины или ресурсной группы и даты – и получил через минуту полный почасовой отчет утилизации ресурсов ВМ.

И тут возникает правильный вопрос – а как же Level 1 Support? А вот никак, поскольку в большинстве своем Azure Managed Services – это непрекращающийся постоянный процесс модернизации инфраструктуры из наследованных технологий в облачные. И если специалист L1 не в курсе процессов и зависимостей внутри инфраструктуры заказчика – он скорее не поможет, а навредит, и при этом – базовые операции типа пресловутой «перезагрузить ВМ» уже запросто могут быть делегированы системе со службой самообслуживания, поскольку вызывая такую операцию из приложения или почты – заказчик вызывает не команду перезагрузки ВМ, а достаточно сложный скрипт, проверяющий влияние такой операции на SLA бизнес-приложений и принимающий решение уже на базе сценариев «лучшего возможного SLA».

А Level 1 – разве что приятный женский голос, отвечающий по телефону + мы начали эксперименты с Power Virtual Agents для предоставления той же информации о статусе и отчетов. А «мальчикам» из Level 1 придется либо расти до инженеров (про требования к инженеру в Azure у меня есть серия публичных собеседований – см.ниже), либо искать другую работу.


ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.01

· ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.01 – https://youtu.be/HmpgQoahXTA

· ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.02 – https://youtu.be/cFzd62vlB9M

· ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.03 – https://youtu.be/DECMirInQ2I

И вот про то, как изменяется орг.структура организации, которая решила перейти от предоставления «традиционных» Managed Services к современным облачным Managed Services – будет третья часть данной статьи.

Облачные Managed Services – современная реальность "цифровой трансформации"​ и отличия от "традиционных"​ Managed Services


* Больше технических статей и постов на LinkedIn – https://www.linkedin.com/in/iwalker2000/
* Мой YouTube канал и технические видео на нем – https://www.youtube.com/iwalker2000
* Бесплатный курс по подготовке к экзамену Azure Fundamentals AZ-900 – http://bit.ly/Exam-Az-900

Как показывает личный опыт последних лет, красивые слова типа «диджитализация», «цифровая трансформация» и прочие расхожие фразы, которые должны подчеркнуть невероятную «продвинутость» компании на пути к новым вершинам «облачного» бизнеса – очень часто являются всего лишь красивой вывеской, за которой скрывается уровень бизнеса 20летней давности и косность менеджмента, по прошествии «20 лет успеха» не способного уже мыслить по другому, как раз критериями той самой «цифровой трансформации»… Нет, эта статья не будет про различные личные психологические практики «как принимать новое» и «читать больше и думать инновационно» – эта статья будет более практической – я постараюсь сформулировать собственное видение того, что является действительно «трансформированными» Managed Services для облака (в моем случае речь пойдет про Azure и базируется на личном опыте создания и руководства соответствующем департаментом) в отличие от «традиционных» Managed Services, к которым продолжают тяготеть «динозавры» бизнеса под вывеской «диджитализации».

Итак, чем же должны отличаться организации, которые предоставляют современные Azure Managed Services от организаций с «традиционными» Managed Services и какой путь должны пройти последние, чтобы предоставлять действительно современные Managed Services для облаков, а не уровень звонка в Level 1 типа «у нас не работает виртуалка – пожалуйста, перегрузите»?

Облака – это существенное изменение в управлении, поскольку они добавляют новый, не достижимый ранее, уровень гибкости для Managed Services благодаря своим сервисам уведомлений, мониторинга, автоматизации, автоматического поддержания здоровья и безопасности поверх таких возможностей облаков, как эластичность, масштабируемость и отказоустойчивость. Соответственно, клиенты Azure Managed Services ожидают от поставщика услуги, что все данные инструменты будут использованы для обеспечения беспрерывной работы уже не отдельных виртуальных машин, а их бизнес-сервисов и бизнес-процессов в целом и разговор «ой, у меня не работает виртуальная машина» просто не может произойти в рамках облачных Managed Services. Также клиенты ожидают от поставщиков Azure Managed Services, что их методологии и подходы к Operational Excellence тоже будут трансформированы и адаптированы к облачным условиям, где используются не только реактивные инструменты мониторинга и автоматизации здоровья решений и SLA, но и службы автоматического улучшения инфраструктуры бизнес-сервиса, исходя из возможностей аналитики, поиска аномалий и предсказаний средствами облачных сервисов типа Log Analytics или Sentinel. И, безусловно – клиенты ждут помощи в миграции в облако и дальнейшей адаптации их традиционных «наземных» решений – этот аспект даже не обсуждается – и если непосредственно миграция уже проведена – чаще всего это вариант с миграцией существующих «наземных» сервисов в виде виртуальных машин IaaS Azure – клиенты ожидают от поставщика Azure Managed Services дальнейших шагов по трансформации такой инфраструктуры в нативные сервисы Azure.

И здесь первая огромная разница между традиционными и облачными Managed Services – заказчик видит в поставщике Azure Managed Services не просто «аутсорсовые руки», которые он будет использовать для выполнения рутинных операций типа «перегрузить виртуальную машину», а именно доверенное лицо, которое в первую очередь предоставляет экспертизу по «движению в облако», причем заказчик ожидает, что получит возможность общения с высококлассным SME (Subject-Matter Expert) по всему возможному спектру сервисов Azure, который обозначен в контракте, и общение между заказчиком и поставщиком услуг будет проходить в стиле знаменитого диалога:

— Теперь вот такое предложение: а что, если
— Не стоит.
— Ясно Тогда, может быть, нужно
— Не нужно.
— Понятно. Разрешите хотя бы
— А вот это попробуйте.

Пожалуй, повторюсь по поводу этого пункта, поскольку до многих руководителей «традиционных» Managed Services этот момент доходит, как до того диплодока с очень длинной шеей – в случае с публичным облаком типа Azure заказчик самостоятельно может выполнять большое количество базовых операций – благо, Azure существенно упрощает многие административные рутинные функции и предоставляет отличный инструментарий управления – будь то портал Azure или Azure PowerShell сотоварищи – и это не те местечковые «облака» с банальными виртуальными машинами, которые расплодились за последние 10-15 лет и так и не превратившиеся в настоящие облака, и которые не в состоянии предоставить нормальный инструментарий управления для клиентов и потом все «пляски с бубнами» вокруг каждой виртуальной машины должны выполняться исключительно персоналом провайдера Managed Services. В случае Azure заказчик не нуждается в столь плотной «опеке» и «залоченной» облачной инфраструктуре, к которой имеют доступ только сотрудники поставщика «традиционных» Managed Services – фактически, это создает промежуточное звено во внедрении решений и существенно замедляет процессы – что полностью противоречит задачам облаков – ускорению бизнеса путем быстрой адаптации и развертывания ИТ сервисов. Но Azure продолжает быть достаточно сложным для инженеров заказчика, в ответственность которых входят именно бизнес-сервисы, а не то, как их работа обеспечивается в Azure – потому именно экспертные услуги со стороны поставщика Azure Managed Services и являются главной отличительной чертой «нового» провайдера современных облачных Managed Services.

Вторая отличительная черта поставщика Azure Managed Services – это SLA. Нет, не тот SLA, о котором любят писать провайдеры Managed Services в контрактах – про гарантированное время ответа и восстановления, это в реальности мало кого интересует в облачных сервисах – облако Azure куда стабильнее всех этих «местечковых облачков» – а действительный доказанный SLA конкретных бизнес-сервисов. Именно так – заказчик дает запросы на предоставление требуемого уровня SLA для своих критических сервисов, а поставщик Managed Services – их обеспечивает. И здесь уже в дело вступает первый пункт – поcтавщик услуг Azure Managed Services предоставляет не «руки», а «головы», в задачу которых входит в том числе и совершенствование инфраструктуры заказчика (в рамках контракта Managed Services) для достижения необходимого уровня SLA конкретного критического бизнес-сервиса. Дальше уже исключительно техническая и финансовая часть задачи по достижению требуемого SLA – возможно ли такое технически в рамках Azure и конкретного бизнес-приложения заказчика и готов ли заказчик платить за все «хотелки» для достижения такого SLA. А поскольку в рамках Azure можно «наворотить» многое для достижения требуемой высокой доступности, надежности, защиты от сбоев и восстановления конкретного решения – то задача вполне решаемая для «настоящих» специалистов поддержки (а не L1, который «должен перегрузить ВМ») без особых проблем. Но самое интересное в данном случае с SLA – если само «наследованное» приложение не адаптировано к работе со средствами масштабирования и высокой надежности в Azure и требуется модификация или даже тотальное изменение архитектуры решения. И тут вступает в дело третья, и, по большому счету – самая важная – отличительная черта современного облачного поставщика Managed Services в отличие от «традиционных» Managed Services.

Итак, отличие третье – основные работы современные облачные провайдеры Managed Services выполняют для заказчиков не в рамках «тикетов» на «перегрузку ВМ» или «изменение размера ВМ», а в рамках постоянной адаптации и оптимизации клиентских сервисов в облаке. Рассматривайте это, как продолжительный непрекращающийся разбитый на фазы проект модернизации, внедрения новых компонентов, оптимизации существующих и т.п. Никаких устаревших бизнес-моделей, где в контракте оговорено количество виртуальных машин, сетей и прочего для обслуживания, а все новое – это отдельный «проект по планированию и развертыванию», который выполняют «Professional Services». В случае облачных Azure Managed Services все развитие инфраструктуры в облаке, возможно, с планами на год или даже несколько лет – это задачи и ответственность команды Azure Managed Services. Выглядит очень требовательно? Возможно, но речь не идет о «переписывании» приложений (хотя такие сервисы и предлагаются некоторыми поставщиками услуг облачных Managed Services), а о консультационной работе с разработчиками заказчика и рекомендациях по изменении кода приложения или архитектуры согласно лучшим практикам Microsoft для Azure. Фактически, специалисты из команды Azure Managed Services выступают и постановщиками задачи для разработчиков (совместно с заказчиком) и SME по архитектуре решения, поскольку одна из зон ответственности провайдера Azure Managed Services – это SLA приложений и сервисов и их архитектура должна быть спланирована под задачи соответствия договоренному SLA. А что насчет планирования и внедрения новых сервисов в облаке для заказчика – и это тоже работа команды Azure Managed Services. Во-первых, потому, что любая облачная инфраструктура – это в первую очередь следование лучшим практикам и они говорят о построении решений типа виртуального ЦОД с архитектурой HUB-SPOKE и после построения центрального хаба все дополнительные сервисы подключаются по типовым проектам, как spoke – и «городить» там что-то серьезное, с привлечением «Professional Services», вообще не требуется. А во-вторых – именно команда Managed Services обладает полной актуальной информацией по всей инфраструктуре клиента, возможных дополнительных ограничениях или требованиях, планах по развертыванию других сервисов и многой другой информацией – потому, фактически, проект подобных улучшений или будет связан с длительным процессом передачи знаний между командой Managed Services и командой «архитекторов» Professional Services c последующими согласованиями результатов и т.п. – что делает такой проект существенно громоздким и дорогостоящим, или может быть выполнен командой Managed Services с привлечением необходимых SME по каким-то специфическим решениям как раз из команды Professional Services. Хотя, как показывает опыт работы – инженер L2 Azure Managed Services после года активной работы в среде крупного корпоративного заказчика даст большую фору «архитектору» Professional Services по планированию и внедрению решений в обслуживаемой среде – поскольку имеет практический опыт и куда более глубокое понимание конкретной среды – так что в реальности, по личному опыту – привлечение SME от «Professional Services» вообще не требовалось – все планирование и внедрение новых решений и модернизация существующих для соответствия SLA выполнялись только силами L2 инженеров и L3 архитекторов Azure Managed Services, без привлечения сторонних «экспертов».

И здесь в дело вступает еще одно отличие – для нормального взаимодействия с клиентом требуется постоянный технический диалог, в рамках которого обсуждаются планы и проекты, а клиент может обратиться с соответствующими техническими вопросами типа «А нельзя ли сделать так?» к тому самому SME по Azure, который имеет полное представление об инфраструктуре клиента. И такой диалог должен быть постоянным, регулярным и проактивным со стороны поставщика Azure Managed Services, т.е. – команда Azure Managed Services, которая работает с конкретным заказчиком, должна иметь в своем составе кого-то, кто будет выполнять функции условного «Technical Account Manager» (TAM) для клиента. Практика показывает, что именно L3 support Azure Architect прекрасно справляется с регулярными техническими коммуникациями с заказчиками и является для них тем самым основным SME по Azure, единой точкой контакта по всем техническим вопросам и принимает участие во всех встречах/совещаниях по планированию и развитию инфраструктуры, и, конечно же – лидером команды Azure Managed Services для конкретного заказчика. Данный условный TAM должен обладать полным знанием об инфраструктуре заказчика, быть в курсе планов развития инфраструктуры, выделять и планировать ресурсы команды под будущие проекты и вести текущие проекты с точки зрения технической экспертизы и управления. И, опять же – как показывает практика – от персоналии такого вот TAM во многом зависит успешность работы с конкретным заказчиком, его удовлетворенность сервисом и многое другое. Так что регулярные созвоны пару раз в неделю и работы на опережение (все эти Operational Excellence – про это – в следующей части) очень даже требуется со стороны TAM.

Еще одним различием облачных Managed Services и «традиционных» является «цена вопроса» – переход от «подсчета по головам», т.е. по количеству обслуживаемых виртуальных машин с фиксированной ценой за одну ВМ, к проценту от цены утилизации в облаке. Согласитесь, считать стоимость облачных сервисов по «головам» ВМ, в то время, как одна из задач современных Azure Managed Services – оптимизация инфраструктуры, обеспечение SLA для бизнес-сервисов и приложений – требует модернизации «зашитых» в ВМ приложений в IaaS окружении в сервисы PaaS и что автоматически удаляет ВМ в будущем – крайне странно. Плюс в Azure масса сервисов, которые требуют управления и которые не посчитаешь «по головам». Потому – только процент от утилизации. Опять же – в зависимости от набора предоставляемых в рамках Managed Services услуг процент может варьироваться от 10% до 30% стоимости самих утилизированных ресурсов Azure. Это, ко всему прочему, двигает заказчика более пристально относиться к вопросам стоимости и оптимизации инфраструктуры (что упрощает и внедрение SLA бизнес-сервисов для команды Managed Services), а с другой стороны – Managed Services заинтересована в постоянном развитии инфраструктуры и драйвинге процессов миграции других сервисов заказчика из локальной инфраструктуры в облако. И показатель роста утилизации (и, соответственно, роста стоимости услуг Azure Managed Services) – отличный KPI для новой облачной команды (наряду с обновленным KPI по SLA – только не того, который представляет «непонятные тикеты» ответа, а SLA бизнес-приложений заказчика).

И вот про KPI и прочие шаги, которые надо предпринять провайдеру услуг (типа реализации облачного варианта Operational Excellence) для трансформации «традиционного залоченного» Managed Services в современный облачный/Azure Managed Services – мы поговорим в следующей статье на эту тему.

Продолжение – следует…

интересная серия видео, на которые рекомендую обратить внимание – это “открытое собеседование” на позицию Azure L2 support engineer (попросту “администратор Azure”) – которое поможет вам сориентироваться в требованиях к позиции и оценить свои знания:

  • * ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.01 – https://youtu.be/HmpgQoahXTA
  • * ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.02 – https://youtu.be/cFzd62vlB9M 
  • * ИТ-карьера – Azure L2 support engineer – публичное собеседование на позицию, что нужно знать – ч.03 – https://youtu.be/DECMirInQ2I

Игры: достаем из коробки Xbox Series S, обзор и сравнение с Series X/One X, тестируем 4К картинку в WoT–первые впечатления


Вот, дождались! Новый XBOX Series S у меня в работе (вернее – играх). И даже не один, а сразу два – потому что будет еще и распаковка и обзоры XBOX Series X . Но начнем все же с более дешевой и “слабой” модели XBOX Series S, которая действительно получилась далеко не однозначной. Напомню, что Series S – это “обрезаный” вариант XBOX Series, который не дотягивает по некоторым параметрам игровой производительности не только до “старшего брата” XBOX Series X, но даже и до старичка XBOX One X.


Игры: достаем из коробки Xbox Series S, сравнение с Series X/One X, тестируем 4К картинку в WoT

Вот так выглядят технические характеристики новой младшей игровой консоли от Microsoft – XBOX Series S:

Processor
  – 8x Cores @ 3.6 GHz (3.4 GHz w/ SMT) Custom Zen 2 CPU

Graphics
  – 4 TFLOPS, 20 CUs @ 1.565 GHz Custom RDNA 2 GPU

Memory
  – 10 GB GDDR6

Memory Bandwidth
  – 8 GB @ 224 GB/s, 2GB @ 56 GB/s

Internal Storage
  – 512 GB Custom NVME SSD

I/O Throughput
  – 2.4 GB/s uncompressed, 4.8 GB/s compressed

Expandable Storage
  – 1 TB Expansion Card (matches internal storage exactly)

External Storage
  – USB 3.2 External HDD Support

Optical Drive
  – None, digital-only

Performance Target
  – 1440p @ 60 FPS, up to 120 FPS

Size
  – 275mm x 151mm x 64mm


Полезные линки

И что вам сказать про первые ощущения от XBOX Series S? Консолька получилась достаточно компактной, лёгкой (по крайней мере не ощущается тяжёлым шлакоблоком, как новый XBOX Series X и даже тот же XBOX One X), вполне себе производительной и горячей – в прямом смысле этого слова. Греется XBOX Series S очень даже сильно и слабо верится в тут красивую историю с вебкастов Microsoft, где, типа, XBOX Series S все время стоял на книжной полке позади докладчика среди книг. Он пы там с его “выхлопом” с замкнутом пространстве уже бы пожар устроил 😉 Это о том, что, почему-то, не замечают в XBOX Series S другие обзорщики и тестеры, и я бы побоялся ставить XBOX Series S куда-то в закрытое пространство во избежание – даже на ту же нижнюю полку, которая у меня есть в столике, на котором стоит телевизор. Да, там есть примерно 30см вертикально го пространства между полками, но этого явно будет недостаточно для того мощного потока горячего воздуха, который выдувает кулер. Наверное, так и оставлю лёжа у телевизора. 😉

А теперь – о самой больной теме – производительности и играх в 4К. XBOX Series S проектировался под 1440p@120fps – это максимальный режим картинки, которую он может выдавать со своими 4TFLOPS (для справки – XBOX Series X выдает 4K@120fps).Что касается 4К игр в XBOX Series S (а также видео и т.п.) – здесь есть несколько сценариев, о которых говорит Microsoft – первый – это масштабирование картинки игры с 1080р/1440р картинки до 4К (с обработкой, но некоторой потерей качества), второй – это сама игра соглашается с тем, что 4TFLOPS ей хватит для работы 4К при 30-60fps и САМА, ПРИНУДИТЕЛЬНО, включает режим работы 4K@60fps. Некоторые новые игрушки, которые разрабатывались под XBOX Series S – уже умеют работать с этой фичей. А видео – и так будет идти в 4К без проблем. Если говорить о реальных наблюдениях, то иногда масштабирование видно – простой прогон “чертиков” в World of Tanks показал, что такие артефакты масштабирования до 4К типа гребенки-лестницы вполне можно заметить на тех же границах изображений объектов – особенно, так, где идет контрастный переход – так, в начале WoT это хорошо заметно на маске пушки, а после – на краях шевронов результатов.

И что меня очень удивляет в XBOX – и что, я надеялся, пофиксят в XBOX Series S|X – это его способность работать с основными приложениями, учитывая, что поддержка клавиатур и мышек уже давно работает – почему нельзя было запустить нормальный браузер, почтовый клиент и тот же офис на очень даже производительной машинке? Типа – ввел свой аккаунт с Office 365 – и поехали. Тогда бы XBOX Series S точно оправдывал бы свою цену и позицию настоящего домашнего цифрового центра.


Обзоры предыдущих XBOX и геймпада Microsoft XBOX Elite Series 2:

  • ГадЖеТы: распаковка XBOX One X и сравнение с XBOX One S в WoT в режиме 4K HDR – https://youtu.be/JXalUSTX6jk
  • ГадЖеТы: достаем из коробки и тестируем Bluetooth на новом геймпаде Microsoft Xbox Elite Series 2 – https://youtu.be/n3AskUZWlZw
  • World of Tanks XBOX version – самоходка Dicker Max против тяжей VIII уровня – 4 убитых тяжа – https://youtu.be/-aYLGTGC96g


Семинары по AZURE–фундаментальные возможности и основы управления AZURE, использования сервисов безопасности, надежности и мониторинга в AZURE


Подписаться на канал ►►►
Мой LinkedIn ►►► 
ИТ-карьера сисадмина-2019 ►►►
Подготовка к AZ-900 ►►►
Как стать системным администратором ►►►
ИТ карьера – что для этого нужно ►►►
Еще про Azure и серверы ►►►
Про производительность дисков ►►►




По приглашению компании МУК –
https://muk.ua/ – прочитал несколько семинаров по технологиям Azure, в основном в рамках того самого базового курса по Azure, который потом предполагает сдачу сертификационного экзамена Microsoft Az-900 – http://bit.ly/Exam-Az-900 – как раз для тех, кому лениво смотреть весь цикл серий (тем более, что я их так пока и не закончил). Но, если у вас есть потребность “быстренько” познакомиться с основными концепциями и технологиями Azure всего за 4 часа, а не за 15 часов (как в моем курсе http://bit.ly/Exam-Az-900) – тогда смотрите эту “короткую” серию 😉

Темы первого семинара “Основы управления AZURE и базовые сервисы AZURE”


  • Базовые концепции облаков – надежность, эластичность, масштабируемость
  • Датацентры Azure и высокая доступность
  • Утилиты управления Azure – портал, PowerShell, CLI
  • Понятие Resource Group и развертывание ресурсов
  • Основные сетевые сервисы в Azure
  • Основные сервисы хранилищ в Azure
  • Резервное копирование и DR в Azure
  • Виртуальные машины в Azure, отказоустойчивость, мониторинг
  • Вычислительные сервисы в Azure – App Services, Functions
  • Сервисы управления процессами – Power Automate
  • Сервисы контейнеров в Azure


Azure – начальный технический обзор основных сервисов Azure – мой доклад на онлайн-семинаре MUK


Кстати, в конце видео я упоминаю про так называемое “публичное собеседование” –
https://youtu.be/pyzxPupDbI8?t=12811 – эта такое себе анонимное (по желанию) собеседование под запись или сразу в прямом эфире с разбором полетов потом – чтобы желающие сразу могли оценить требования крупной компании на простую должность типа инженера/архитектора поддержки клиентов в Azure. Потом я это опубликую тут, на канале, в разделе ИТ-карьеры – http://bit.ly/ITcarriera_ – а то народ периодически спрашивает, что нужно знать и как понять, знаешь ли ты “это” и просит записать видео – а записывать абстрактно как-то не хочется – типа, перечисления – вот, это, это и это учите, а хотелось бы сделать такой вот живой диалог, плюс – можно же сразу знать, что учить, а я еще буду в конце такого “собеседования” рассказывать, как и для чего 😉 В общем, если вы вдруг хотите поучавствовать в таком эксперименте – добавляйтесь ко мне в контакты в LinkedIn –  https://www.linkedin.com/in/iwalker2000/ и при добавлении не забудьте указать в сообщении, что хотите поучавствовать в онлайн собеседовании 😉


Смотрите продолжение моего доклада по Azure Fundamentals на онлайн семинаре, который проводит по пятницам компания МУК ( https://muk.ua/ ). Первую часть семинара можете посмотреть в записи тут – https://youtu.be/pyzxPupDbI8 – а также напомню, что у меня на канале есть 13 серий базового курса по Azure, который потом предполагает сдачу сертификационного экзамена Microsoft Az-900 – http://bit.ly/Exam-Az-900 . А темами данной части семинара по Azure для технических специалистов стали следующие возможности и функции Azure:

Темы второго семинара “AZURE – основы использования сервисов безопасности, надежности и мониторинга”

  • * Безопасность Azure
    • Защита учетных записей в Azure Active Directory
    • Политики безопасности в Azure
    • Средства защиты данных, шифрование, ключи и секреты
    • Сетевая безопасность Azure
    • Безопасная конфигурация Azure VM
    • Azure Security Center
    • Best Practices для облачной и локальной инфраструктуры с сервисами безопасности Azure
  • * Средства защиты от сбоев
    • Гео-репликация данных
    • Гео-репликация служб
    • Azure Backup
    • Azure Site Recovery
  • * Архитектурные решения
    • Мониторинг инфраструктуры Azure
    • Azure Monitor/Diagnostic
    • Базовые уведомления
    • Azure Automation
    • Azure VM/Apps Insights
    • Azure Log Analytics
    • Использования API для автоматизации мониторинга


Azure – 2я часть – по основнам безопасности, надежности, мониторингу Azure – онлайн-семинар MUK


Другие доклады по облачным и серверным технологиям у меня на канале:

Достаем из коробки "самый маленький ПК" CHUWI LarkBox на Windows 10 – Raspberry Pi нервно курит в сторонке


Заказать CHUWI LarkBox на Ali ►►► 
Магазин CHUWI ►►►
Обзор GPD P2 Max ►►►
GPD Win Max ►►►
Raspberry PI 8GB здесь ►►►
NAS из Raspberry PI ►►►
Обзор китайского миниПК/сервера ►►►
Подписаться на мой YouTube канал iWalker2000 ►►►  
ИТ-карьера сисадмина-2019 ►►► 
Подготовка к экзамену по Azure AZ-900 ►►► 
Как стать системным администратором ►►► 
ИТ карьера – что для этого нужно ►►►  |
про Azure, облачные и серверные технологии ►►► 

Итак, процессорные технологии мельчают и холоднеют и теперь китайцы решили “переопределить понятие ПК”, превратив “обычный настольный ПК” в совсем уже меленькую коробочку, которая способна почти на все (кроме, разве что, игр).

Ярким примером такого нового миниатюрного рабочего места стал мини ПК Chuwi LarkBox с процессором Intel Celeron J4115, 6ГБ ОЗУ и 128ГБ хранилища eMMC на борту, с полноразмерным HDMI портом, поддержкой разрешения 4К и возможностью установки дополнительного M.2 SSD (даже инструкция по разборке коробочки и установке SSD прилагается). И все это добро помещается в коробочке 60х60х40 мм (меньше стандартного Кубика Рубика) и весом 127г (без учета блока питания, который, в принципе – как обычная USB зарядка средних размеров).

Так что Chuwi – компания-производитель этого “чуда враждебной техники” – проделала большую работу и по “впихиванию” такого “железа” в такой корпус, и по созданию системы охлаждения, способной отвести достаточно тепла из такого малого внутреннего объема корпуса LarkBox. Кстати, я уже погонял пару тестов (видео про тестирование производительности будет обязательно, хотя особых цифр я бы не ждал, например, PCmark показал на LarkBox 1296 “попугаев”) и можно сказать, что процессор LarkBox не нагревается выше 70-75С даже при полной нагрузке в тестах, что очень даже не плохо, а температура покоя составляет около 50С. Хотя, говорят, что при установке SSD (которые тоже очень даже горячие по нынешним временам) – LarkBox начинает греться куда сильнее и даже сваливается в постоянный троттлинг.


Достаем из коробки “самый маленький ПК” CHUWI LarkBox на Windows 10 – Raspberry Pi нервно курит в сторонки


Но, вернемся к главному – месту таких мини ПК на рынке и почему Raspberry Pi нервно курит 😉 Итак, мы имеем дело с двумя устройствами примерно равной производительности “железа” и достаточно либеральными ценами. Новая Raspberry Pi 8GB, корпус с тихим кулером и к нему обвес типа подключения SSD “внутри корпуса” –  обойдется вам примерно в 130уе, тогда как при пред-заказе на IndieGoGo данный кубик LarkBox от Chuwi шел по 149уе.

Если вернуться к идее приобретения новой Raspberry Pi 4го поколения с 8ГБ на борту, то главным отсылом и была как раз идея иметь простую компактную рабочую станцию-терминал, способную выполнять основные задачи по работе с Azure – работа в VS Code, Azure PowerShell, Azure CLI, Azure Portal, Azure Storage Explorer, Azure Data Studio и прочие тулы по необходимости. Что показала работа с данными утилитами на Raspberry Pi 8GB – да ничего, большая часть из них просто не работает с Raspberry, не зависимо от установленной ОС – просто никто не портировал сборки – исключение составляет только PowerShell Core 7.x, который Microsoft лично портировала на Raspberry – все остальные утилиты или вообще отсутствуют/не устанавливаются/не запускаются, либо работают из рук вон плохо – например, VS Code, который портирована на Raspberry Pi энтузиастами под названием Code-OSS, которая глючит и в работе, и с расширениями, и производительность оставляет желать лучшего. И да, портал Azure на “местном” Chrome Raspberry Pi также работает очень-очень медленно, я бы даже сказал – мучительно медленно.

А вот то, как “бегает” и реагирует Chuwi LarkBox в интерфейсе, браузере, приложениях очень даже шустро. Я уже писал, что в PCmark 10 LarkBox показал результат 1296, что всего на 50% медленнее того же GPD Win 2 с его m3-7y30 процессором или в 2.5 раза медленнее модного игрового мини ноута GPD Win MAX . Так что в сочетании с 6ГБ ОЗУ достаточно для выполнения LarkBox всех перечисленных выше рабочих задач. В принципе – по работе с порталом Azure вопросов вообще нет, я уже погонял и все открывается с привычно по другим ноутам – типа GPD P2 Max – скоростью. Так чт, похоже, Raspberry Pi с появлением устройств типа Chuwi LarkBox потеряет массу своих поклонников-любителей дешевого “железа” для базовой работы, а вот для “китайцев” типа Chuwi наступят времена косить бабло путем замены на офисных столах “огромных NUC” на аккуратные миниатюрные коробочки – если, конечно, смогут доказать надежность и качество поддержки.

А дальше – будут тесты производительности и различные обзоры новой “игрушки” CHUWI LarkBox

И еще линки на портативные ноуты от GPD, которые у меня в использовании:

  • Портативный игровой мининоутбук-консоль 5.5″ GPD Win – 2016 год на Intel Atom – http://bit.ly/GPDwinplay
  • Портативный игровой мининоутбук-консоль 6″ GPD Win – 2018 год на Intel Core m3 7th gen – https://youtu.be/Knq2ytzxE4g
  • Производительный мини-ультрабук 9″ GPD P2 MAX – http://bit.ly/GPDP2max
  • Обзор GPD Win MAX:синтетические тесты 8″игрового мини ноута и сравнение с “настоящим” игровым ноутом – https://youtu.be/spyA4RilU8k

Обзор GPD Win MAX: синтетические тесты 8" игрового мини ноута и сравнение с "настоящим" игровым ноутом


Заказать GPD Win Max ►►►  
Предыдущая посылка с Ali ►►►
Собираем NAS из Raspberry PI ►►►
Обзор китайского миниПК/сервера ►►►
Обзор GPD P2 Max ►►►
Подписаться на канал ►►►

Продолжаю изучение нового 8″ игрового мини ноутбука от GPDGPD Win MAX, распаковку которого можете увидеть тут, а теперь – смотрите сравнительные синтетические тесты GPD Win MAX и других ноутов и планшетов – как на других платформах от GPD, так и других производителей, но уже на 10м поколении Intel Core. А поскольку GPD начало позиционировать данный GPD Win MAX, как универсальный игровой ноут (в отличие от миниатюрного GPD Win 2 – который был направлен на казуальные игры и эмуляторы страрых платформ) – то я решил сравнить GPD Win MAX не только в GPD Win 2, GPD P2 Max (моим основным мобильным рабочим ультрабуком) и Microsoft Surface Pro 7 (который на той же серии процессора, что и GPD Win MAX), но и с другими “нормальными” игровыми платформами, которые у меня есть – моим минисервером на Core i9-9900 с Nvidia GTX 1650 4GB (про него здесь) и настоящим игровым ноутом Acer Predator Helios 300 – с i7-9750H и GTX 1660 Ti на борту.


Обзор GPD Win MAX: синтетические тесты 8″ игрового мини ноута и сравнение с “настоящим” игровым ноутом

И что вам таки сказать про результаты синтетических тестов GPD Win MAX в PCmark, 3Dmark, GFX Bench и FinalFantasy XV benchmark? GPD с этим GPD Win Max проделала большую работу по охлаждению и повышению производительности непосредственно платформы Intel Core i5-1035G7, и даже добавила в BIOS возможности разгона процессора путем изменения его TDP даже выше максимального показателя в 25W (пробовал до 27W – благодаря мощному охлаждению – работал в тестах без проблем), НО – выше головы не прыгнешь и то, что сделал Intel кривым – Intel Iris Plus Graphic – уже не исправить. Я уже говорил в предыдущем видео, что GPW Win MAX получился очень странным устройством вне ниши – большой и тяжелый, чтобы называться мини ноутом, но при этом еще и недостаточно производительный, чтобы считаться действительно игровым ноутом. И выходит, что его удел – опять же – простые казуальные игры или WoT на минималках – но уже без той мобильности, которую предоставляет GPD Win 2. И, наверное, силы и объемы, которые потратила GPD на технологическую доточку процессора, пытаясь из ничего выжать хоть что-то – стоило потратить на то, чтобы интегрировать простенькую дискретную графику в тот же корпус. Сравнение с “минисервером”, у которого есть GTX 1650 показало превосходство последнего над GPD Win MAX в игровых синтетических тестах в ТРИ раза – при разнице в цене – в 1.5-2 раза. А Acer Predator Helios 300 обгоняет GPD Win MAX в 5-7 раз на графике – при разнице в цене в 2 раза. Т.е. реальное отношение цена/производительность у Predator в 3 раза лучше, чем у GPD Win MAX.

Но Acer Predator Helios 300 большой и тяжелый! – скажете вы… И будете правы! Но и GPD Win MAX уже не такой компактный и легкий, как GPD Win 2 (в реальности от размером как 9″ GPD P2 MAX, но куда толше и тяжелее), и он потерял ту самую “изюминку” мобильного компактного игрового мини ноута для казуала, а вот что он приобрел? Да ничего, в реальности… В том-то и самый важный вывод – на универсальный ноут GPD Win MAX еще не тянет, для большинства современных игр он явно слаб, запускать игры с Nintendo Switch в Cemu за 800уе, если можно тоже сделать на самом Switch, который будет легче и дешевле – абсурд. Вот так и получается, что лучше докинуть денег и купить бескопромисный ноут типа Acer Predator Helios 300, докинув в 2 раза, но получив в результате в 7 раз больше мощности и универсальный аппарат.

Радует только, что разрекламированный порт Thunderbolt 3 в GPD Win MAX “тащит” хорошо и в тестах подключенных Thunderbolt 3 порту NVMe дисков обогнал тот же Lenovo на 20-25% по скорости. Это дает надежду на то, что когда-нибудь можно будет все же “конвертировать” GPD Win MAX в “настольный универсальный игровой ноут” путем подключения к нему eGPU с нормальной внешней картой и дальше гонять его для того же видео.

А еще в защиту GPD Win MAX можно сказать, что он получился очень “холодным” и во всех тестах, даже самых экстремальных – оставался максимум теплым. Да и батарея с зарядкой по протоколу PD 3 очень даже живучая и быстро заряжающаяся. И про это – будет в следующих тестах GPD Win MAX.

А пока напомню линки на другие машинки от GPD, которые у меня в использовании:

  • Портативный игровой мининоутбук-консоль 5.5″ GPD Win – 2016 год на Intel Atom – http://bit.ly/GPDwinplay
  • Портативный игровой мининоутбук-консоль 6″ GPD Win – 2018 год на Intel Core m3 7th gen – https://youtu.be/Knq2ytzxE4g
  • Производительный мини-ультрабук 9″ GPD P2 MAX – http://bit.ly/GPDP2max


GPD Win MAX: достаем из коробки новый компактный 8" игровой ноутбук от GPD – GPD Win MAX – c Intel Core i5-1065G7,16ГБ ОЗУ и геймпадом


Итак, компания GPD, которая специализируется на выпуске компактных и достаточно мощных игровых ноутов и ультрабуков – выпустила новую модель – GPD Win MAX –  которую сам GPD называет развитием линейки игровых портативных субноутбуков-консолей GPD Win/GPD Win 2 (про них я уже рассказывал на своем YouTube канале iWalker2000GPD Win 2 и GPD Win), но в реальности – GPD Win MAX уже не портативный игровой субноут, а на такой себе GPD P2 MAX на стероидах, серьезно увеличившийся в размерах и весе в сравнении с Win/Win 2.


ГадЖеТы:достаем из коробки 8″ игровой ноутбук GPD Win MAX c Intel Core i5 10gen,16ГБ ОЗУ и геймпадом

Потому, смотря на лежащие рядом GPD Win 2 и GPD Win MAX, а особенно – держа МАХ в руках – возникает чувство неправильности в дальнейшем развитии этой замечательной ранее мобильной линейки. Да, “железо” у GPD Win MAX вроде как неплохое и современное – про него подробно в самом видео – но в отличие от GPD Win 2 – GPD Win MAX потерял уникальность серии ввиду своих размеров и веса. Средняя производительность GPD Win 2 в AAA-играх с лихвой компенсировалась его миниатюрностью и возможностью играть на ходу…

Фактически, GPD Win 2 – это такая себе портативная универсальная игровая приставка, на которой можно погонять и средние по требовательности к железу Windows-игры, и запустить эмуляторы старых платформ, и поработать с Windows – если очень надо (я вообще на Win 2 виртуалки запускал “в дороге”), и все это помещается в кармане и его не особо оттягивает.

А вот GPD Win MAX получился весьма противоречивым аппаратом – по своим размерам он явно не портативный – по длине-ширине Win MAX фактически как P2 MAX (и это при том, что у Win MAX экран 8”, а у P2 MAX – 9”) – только вот существенно отличается от P2 MAX по толщине и весу не в лучшую сторону, особенно – по весу… И это делает GPD Win MAX достаточно странным игровым девайсом без какой-то ниши и изюминки предыдущих GPD Win – уже и не портативный, но еще и не нормальный игровой ноутбук, на ходу держать и играть на таком ноуте, используя встроенный гемпад – уже проблематично, а использовать, как настольный игровой ноут – не достаточно производительности в сравнение с другими ноутами, у которых есть сама завалящаяся из актуальных сейчас графических карт.

Так что кроме обязательного тестирования GPD Win MAX в синтетических тестах и в традиционных играх – мне еще предстоит найти для GPD Win MAX его “нишу” в рабочих и просто развлекательных процессах. Впрочем, с рабочими процессами, где я активно использую GPD P2 MAXи так все ясно – у GPD Win MAX довольно специфические и разрешение экрана, и клавиатура, и тачпад, и вес/габариты – потому использовать GPD Win MAX как мобильное рабочее место не очень получится. С играми – будем посмотреть – покатаюсь с GPD Win MAX в метро (в Дубайском метро в “золотом вагоне” есть столики в спинках седений) и погоняю любимые игрушки на нем, в других поездках и просто дома в кресле – посмотрим, насколько это действительно удобно и какие игры подходят для такого стиля игры и производительности платформы.

Хотя, у владельцев GPD Win MAX есть еще и “план Б” для производительности устройства – по крайней мере в режиме “настольной работы” – это наличие у GPD Win MAX порта Thunderbolt 3, который позволяет подключать внешние графические карты eGPU и превращать ноут с неплохим процом Intel Core i5-1065G7 в полее мощную машинку с выделенной графиков – для игр или работы с той же графикой или видео. Правда, я пока жду, когда подобные работоспособные eGPU массово появятся в продаже – пока же про большинство имеющихся eGPU читаешь только отзывы – насколько они глючные или несовместимые с теми или иными моделями видеокарт или портами ноутов. В общем – ждите следующих обещанных обзоров.





А пока напомню линки на другие машинки от GPD, которые у меня в использовании:



  • Портативный игровой мининоутбук-консоль 5.5″ GPD Win – 2016 год на Intel Atom – http://bit.ly/GPDwinplay
  • Портативный игровой мининоутбук-консоль 6″ GPD Win – 2018 год на Intel Core m3 7th gen – https://youtu.be/Knq2ytzxE4g
  • Производительный мини-ультрабук 9″ GPD P2 MAX – http://bit.ly/GPDP2max

Миграция подписок в Azure–EA to CSP, PaYG to CSP и т.п.–часть 1, какая боль–теоретическая и политическая…


О сколько нам проблемок чудных готовит Microsoft’а дух!
И Windows, дитя ошибок трудных,
И Azure, парадоксов друг…
А.С.Пушкин, 2020

Еще немного про работу, ИТ и политику Microsoft по отношению к клиентам и партнерам – будет, скорее всего, в нескольких частях – эта часть первая, вступительная, рассказывающая о самой проблеме, которую Microsoft запросто создал на пустом месте и которую теперь приходится решать с огромными затратами сил.

И эта проблема называется – миграция в Azure. Нет, не та миграция, которая Lift-and-Shift и прочие там сценарии, когда вы берете локальные сервисы и мигрируете их в Ажур – это достаточно просто и вполне понятно с точки зрения логики и бизнеса.

Речь идет о другой миграции – внутри Azure – между разными подписками. Например, вы начали с Pay-as-you-Go и проект удался и вам теперь захотелось перейти на нормальную подписку типа CSP с договором и реквизитами (а не просто платить с чьей-то кредитки). Или, как вариант, с грабительского контракта AE на CSP в Azure.

И вот тут, оказывается, вы попали… У вас будет куда больше технических проблем с миграцией между двумя подписками внутри Azure, нежели с переносом локальных сервисом в Azure. Хотя, казалось бы – чего тут сложного с точки зрения миграции – просто переписать ID объектов – поменять в строке GUID старой подписки на GUID новой – и все…

НО НЕТ! ЭТО БЫЛО БЫ СЛИШКОМ ПРОСТО! Хотя бы потому, что Microsoft, создавая Azure десять лет назад – о таком даже и не думал, пытаясь загнать всех пользователей под одну, только ему удобную бизнес-модель, а индусы, которые все это кодили – вообще не склонны к созданию качественного продуманного продукта с универсальной архитектурой для будущего развития.

ИТАК, если вы вдруг в своей организации решите перейти с одной подписки в Azure на другую (EA to CSP, PaYG to CSP и наоборот), главное, что вы должны знать – это то, что любой технический «специалист» Microsoft, который скажет вам «это просто – там есть специальная кнопочка Move» – нажали и все перенеслось без остановки – или просто не является «техническим специалистом» и никогда не выполнял миграцию EA to CSP, или просто врет – потому гоните его от себя «ссаными тряпками» и пусть возвращается, только когда мигрирует минимум десяток разнообразных подписок с разными типами объектов в них. Да и вообще, как показал опыт, у Microsoft в «полях» ни одного такого «специалиста» просто нет.

В чем реальная проблема миграции EA to CSP или Pay-as-You-Go to CSP (и наоборот)? – правильно, в абсолютной непродуманности архитектуры Azure на этот счет и массе технических ограничений Azure для такой миграции. Давайте разберемся, каких именно и как эти ограничения можно обойти:

1. Все объекты служб, созданные из образов Azure Marketplace, не могут быть перенесены из-за технических ограничений Azure. К сожалению, вы не можем проверить наличие или возможность миграции этих объектов с помощью скриптов (с технической точки зрения они являются обычными объектами Azure и отличаются только способами оплаты на уровне подписки). Итак, вы должны знать свою инфраструктуру и идентифицировать подобные объекты «вручную». Как правило, это:

a. разные виртуальные сетевые устройства, такие как F5, CheckPoint, Cisco и прочие межсетевые экраны/шлюзы/маршрутизаторы

b. предварительно настроенные виртуальные машины с приложениями сторонних производителей, такими как CRM, ERP, CMS – например, виртуальные машины с веб-сайтами WordPress и т.д.,

c. Некоторые службы, такие как шлюзы SMTP/SMS/Мобильные уведомления и т.д. – например, SendGrid для отправки электронной почты непосредственно из приложений.

2. Все службы приложений Azure (веб-сайты Azure, Azure App Services) должны быть помещены в исходные группы ресурсов (Resource Groups), в которых они были созданы. Если какая-либо служба приложений была перемещена в другую группу ресурсов, а исходная группа ресурсов была удалена – невозможно перенести эту службу приложений Azure в другую подписку. Если изначальная группа ресурсов еще существует – достаточно вернуть приложение в оригинальную группу. Это связано с ограничениями самой архаичной архитектуры Azure App Services, которая не менялась в Azure еще со времен так называемого Classic Azure – Azure App Services привязаны к так называемому «штампу» в датацентре, который на уровне объекта прописан, как web space – это строка URL, которая, кроме всего прочего, содержит в себе и имя оригинальной ресурсной группы, в которой был создан объект приложения. Проверить это можно тем же скриптом через свойство объекта приложения serverFarmId и сравнив его с именем группы ресурсов или через мастер «Diagnose and solve problems» – там есть возможность проверить, возможна ли миграция данного приложения.

3. Все связанные между содой ресурсы каждого мигрируемого объемкта должны быть помещены в одну мигрируемую группу ресурсов. Это означает, что, например, объект виртуальной, объекты сетевого интерфейса этой виртуальной машины, объект VNET, к которому подключена виртуальная машина, объекты Public IPs для этой виртуальной машины, availability set, установленный для этой виртуальной машины, все виртуальные диски виртуальной машины, диагностические хранилища, объекты резервного копирования и их хранилища и т.д. должны быть помещены в одну группу ресурсов. Типичный пример проблемы миграции – одна VNET в одной группе ресурсов и много виртуальных машин подключены к этой VNET, но размещены в разных группах ресурсов. В этом случае все виртуальные машины и связанные ресурсы должны быть размещены вместе с VNET. Если окажется, кто к той же VNET будет подключено приложение из другой ресурсной группы, то мы не сможем выполнить миграцию без простоя, поскольку у VNET есть связанный объект из другой ресурсной группы, а перенести его в мигрируемую группу ресурсов мы не можем, поскольку миграция перемещенных из оригинальной ресурсной группы приложений невозможна. Значит, перед миграцией такой ресурсной группы с VNET, к которой подключены объекты других ресурсных групп – мы их должны отключить от сети, что и создаст простои. Тоже касается и таких вещей, как VNET peering с другими сетями в других ресурсных группах, что приведет к остановке трафика между сетями и простоям.

4. Некоторые типы объектов Azure вообще не могут быть мигрированы между подписками Azure. Вот такое вот вам планирование архитектуры Azure! Обычно, в реальной жизни – это типы Backup Recovery Points, некоторые SKU общедоступных IP-адресов, старые «классические» объекты Azure, которые существуют только для совместимости, если ранее у вас были «классические» развертывания. Все эти типы ДОЛЖНЫ быть отключены от существующих объектов и удалены. Наиболее проблемной частью является тип Backup Recovery Points, поскольку он является частью резервной копии виртуальной машины, и это означает, что все резервные копии с точками восстановления должны быть остановлены перед удалением объектов точки восстановления (данные резервной копии будут сохранены). Чтобы проверить подписку на эти объекты, я написал небольшой скрипт PowerShell, который использует в качестве источника список совместимых типов Azure на GitHub (надеюсь, его будут поддерживать в актуальном состоянии, поскольку на него ведет ссылка с сайта Microsoft).

[CmdletBinding()]

param (

[Parameter(Mandatory=$false)]

[string]

$SubsID,

[Parameter(Mandatory=$true)]

[string]

$RGName

)

if($SubsID)

{

Connect-AzAccount -Subscription $SubsID | Out-Null

}

else {

Connect-AzAccount | Out-Null

}

$res = Invoke-WebRequest -Uri https://raw.githubusercontent.com/tfitzmac/resource-capabilities/master/move-support-resources.csv -Method Get

$list = Convertfrom-csv -InputObject $res.Content

$resObjs = Get-AzResource -ResourceGroupName $RGName

foreach($obj in $resObjs)

{

$resName = $obj.Name;

$resType = $obj.ResourceType;

$resID = $obj.ResourceId;

$resList = $list -match $obj.ResourceType

if($resList)

{

$i = [int]$resList[0].’Move Subscription’

if($i -ne 1)

{

Write-Host “`n`t***`tOBJECT CAN _NOT_ BE MIGRATED: $resName has type $resType ($resID)” -ForegroundColor Yellow -BackgroundColor DarkRed

}

else {

Write-Host “`nOBJECT IS SUPPORTED FOR MIGRATION: $resName has type $resType ($resID)” -ForegroundColor Green

}

}

else {

Write-Host “UNKNOWN OBJECT’s TYPE: $resName has type $resType ($resID)” -ForegroundColor DarkRed -BackgroundColor Yellow

}

}

Read-Host “`n`n`n[INFO]Finished. Press Enter…”

«Переварите» и теперь «наслаждайтесь» той херней, которую породил Microsoft с подписками в Azure! Представили себе сложность процесса миграции, при том, что вы хотите просто получить более удобную для вас схему оплаты?! Иногда, затраты на миграцию между подписками превышают экономический эффект от перехода на новую подписку (более низкие цены) в течение года… А как же, Microsoft заботится о вас и, главное, ваших денежках!

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

· Сценарии 2,3 потребуют только точного перемещения связанных объектов виртуальных машин/сетей/служб приложений в соответствующие группы ресурсов, как описано выше, на основе информации из самописных скриптов, которые рекурсивно проверяют все цепочки зависимостей. Т.е. здесь мы тратим время наших админов. НО! Есть некоторые сценарии, когда будет наблюдаться простой или недоступность ваших ресурсов при миграции. Самый типичный тому пример – это две группы ресурсов, в каждой из которых находятся «свои» ВМ, подключенные к «своей» сети VNET. А чтобы обеспечить взаимодействие ВМ в разных VNET по сети – между сетями созданы соединения – VNET Peering. В таком случае – миграция групп ресурсов будет невозможна, поскольку их VNET имеют связанные ресурсы в виде VNET в другой группе ресурсов. И для миграции – потребуется удаление VNET Peering, что приведет к отключению ВМ в мигрируемой группе ресурсов от ВМ в других группах ресурсов и простою на уровне доступности сервисов – примерно на 30 минут, как показывает опыт. После переноса группы ресурсов в новую подписку временно (или постоянно, в зависимости от плана миграции) можно установить VNET Peering между двумя сетями VNET в новой и старой подписках. Хоть что-то хорошее есть – ресурсы, находящиеся в разных подписках – могут обмениваться данными без проблем.

· Сценарий 4 – список объектов должен быть пересмотрен. Как правило, это ненужные или не важные объекты, которые не влияют на доступность решения (например, некоторые счетчики производительности / предупреждения для мониторинга) и могут быть удалены перед миграцией и воссозданы в новой подписке после миграции. Т.е. здесь мы тратим время наших админов.

· Сценарий 1 наихудший из всех, отнимает много времени при планировании и приводит к простоям решения при миграции. Есть несколько способов перенести объекты Marketplace в другую подписку:

o При помощи снимков дисков – хорошо для НЕ интенсивных операций записи в сервисах, которые обслуживаются виртуальными машинами. Создаем снимки существующих виртуальных машин, переносим снимки в новую подписку, создаем там новую виртуальную машину из того же самого образа Marketplace в новой подписке, подключаем/меняем диски новой виртуальной машины на имеющиеся снимки дисков ВМ из старой подписки. Далее начинается время простоя – если сервис имел публичные IP – нам либо нужно будет отключить публичные IP от старой ВМ и перенести в новую подписку и подключить к новой ВМ, либо поменять DNS записи. Потери данных в таком случае будут за промежуток времени с момента получения снимка.

o Служба восстановления сайтов Azure – ASR обеспечивает репликацию данных в реальном времени для виртуальных машин Azure. Это позволяет создавать непрерывную реплику необходимых виртуальных машин в новой подписке и переключаться, когда это потребуется. Время простоя только для разрешения нового публичного IP в DNS или переноса существующего Public IP между подписками, как это указано выше.

o Некоторые объекты из Marketplace нельзя перенести технически – если это не виртуальная машина, а некоторые службы Azure, такие как SoftGrid. В этом случае сервис должен быть удален и заново создан / переконфигурирован в новой подписке вручную. В случае, если вызовы API / строки подключения и т. Д. Этой службы жестко закодированы в других виртуальных машинах / службах приложений – потребуется пересмотреть коды / вызовы.

o Некоторые поставщики программного обеспечения не позволяют выполнять техническую миграцию своих объектов, как описано в первых двух сценариях, ввиду ограничений условий лицензирования или поддержки (мы точно знаем о F5), так что это означает, что эти объекты должны быть удалены и воссозданы в новой подписке.

Основной риск / проблема для миграции с EA на CSP – это объекты Marketplace, такие как Virtual Network Appliances, такие как брандмауэр / маршрутизаторы, особенно без возможности технической миграции (заблокированные поставщиком, например F5).

Давайте рассмотрим следующий действительно распространенный сценарий миграции:

1. Инфраструктура Azure имеет следующие объекты:

a. Общая VNET с разными подсетями в группе ресурсов RG01

b. Виртуальные машины в RG02 / RG03 подключены к VNET в RG01

c. Одна из виртуальных машин содержит CMS (из Marketplace) для корпоративного сайта

d. База данных SQL Azure для CMS

e. VNA F5 (из Marketplace), обеспечивающая безопасную публикацию / доступ к виртуальным машинам и подключенную к VNET

2. Соображения:

a. Мы не можем перенести F5 при помощи снимков из-за лицензионного ограничения, нам нужно пересоздать его.

b. Мы не можем перенести VNET из-за подключенного к нему F5, это означает, что мы должны отключить F5 перед миграцией других объектов.

c. Мы не можем отключить F5 от VNET, только полностью удалив виртуальную машину F5.

d. Мы не можем воссоздать F5 в новой подписке из-за отсутствия VNET до миграции других виртуальных машин и т. Д. Таким образом, это означает, что будет время простоя между удалением F5 из VNET и до тех пор, пока новый F5 не будет создан и настроен вручную в новой подписке в существующая VNET, которую необходимо перенести до новой подписки со всеми зависимыми виртуальными машинами.

e. То же самое, мы должны отключить (удалить) CMS VM перед миграцией VNET. Мы можем делать снимки дисков VM и переносить снимки в новую подписку. Виртуальная машина CMS может быть легко и быстро воссоздана из снимков после первоначальной миграции VNET.

f. Другие виртуальные машины могут быть перенесены напрямую, поскольку они будут перемещены из своих групп ресурсов в VNET RG01.

3. Процесс миграции:

a. Переместить все виртуальные машины / SQL в одну общую RG01 (где размещена VNET)

b. Очистить / удалить все неподдерживаемые типы объектов (отключить резервное копирование и т.п.) в RG01

c. Создание снимков для CMS VM

d. Удалить CMS VM (время простоя веб-сайта CMS начинается)

e. Создать резервную конфигурацию для F5 VNA.

f. Удалить виртуальную машину F5 (время простоя для всех служб начинается)

g. Запустить стандартный процесс миграции группы ресурсов Azure (всех остальных VM, подключенных к общей VNET, от которой уже отключили VNA и CMS) в новую подписку и дождаться его завершения.

h. Создать новую CMS VM из Marketplace, подключить к перенесенной VNET и заменить ее диски на оригинальные снимки со старой подписки.

i. Создать новую виртуальную машину F5 из Marketplace, подключить ее к перенесенной VNET, подключить перенесенные Public IP (чтобы не менять DNS) и восстановить конфигурацию/правила и т.д. из бекапа конфигурации оригинала.

j. На этом время простоя закончено.

Что, после такого объяснения все стало окончательно запутано?! Так вот так оно в Azure с миграцией между подписками и есть… Немного лучше, если у вам архитектура IaaS сделана «правильно», с центральным хабом и подключенным к нему по Peering VNET’ов для отдельных сервисов/приложений – тогда ломать приходится только центральный хаб и можно переключать отдельные VNET с меньшими простоями (как я уже писал выше). Но, в любом случае – для сложной инфраструктуры миграция ресурсов между EA и CSP подписками очень даже мучительная.

«Погоди Игорь! Видел у себя в подписке кнопочку Transfer to CSP – правда, она неактивная, «серенькая»…» – скажут некоторые. И будут правы – кнопочка есть, и она неактивна. Microsoft таким образом создает нездоровую атмосферу на рынке путем «перехвата подписок» – захочет, и предоставит право какому-то «избранному» партнеру, и тот очень легко и без такой вот головной боли, описанной выше, сможет запросто «воровать» подписки клиентов у конкурентов. Подумайте, к кому из двух партнеров Microsoft пойдет клиент, чтобы перейти с Pay-as-You-Go на CSP, если у одного партнера клиенту предлагают такую головоломную процедуру миграции, а второму партнеру Microsoft за какие-то «заслуги» «подарила» кнопочку «сделать все сразу и без головняка»??? Как выбираются партнеры – Microsoft «сам решает, выбирая крупных и лучших» … Такая себе отличная лазейка для коррупции, как, впрочем, и нынешнее полностью коррупционное «человеческое наполнение» Microsoft (я про это писал уже ранее в нескольких своих постах – http://bit.ly/35YRYy4 и http://bit.ly/2REMPHh )… О чем это я? – да о том, кому из партнеров какого клиента отдать на подписку – решает только аккаунт менеджер Microsoft, на основе своих личностных предпочтений, и, естественно, уровня «подмазывания» партнером. Ведь подписка – это вообще – просто продажа воздуха, она ни каким образом не отображает технические навыки того или иного партнера. Таким образом, менеджеры по работе с клиентами Microsoft вообще избавлены от какой-либо ответственности насчет передачи подписок клиентов кому-либо – они просто выбирают «карман», в который будет платить клиент (и который будет получать процент с прибыли как реселлер), и никакой технической ответственности ни партнер, ни менеджер Microsoft не несут. Т.е., как я уже писал выше – менеджер Microsoft выбирает, кому «дать заказ» только из критерия «кто лучше его «подмазал»», а как известно, во всем мире «лучше всего подмазать» – это «отблагодарить нужного человека лично», финансово простимулировать. Это насчет вопроса «про кнопочку» …

А как же технические специалисты Microsoft, неужели они не помогут своим клиентам (даже не партнерам) в такой миграции? Опять же, я уже писал выше, что такого понятия, как «технический специалист», который реально способен решать практические вопросы и имеет практический hands-on опыт работы с теми же продуктами Microsoft – в локальных офисах Microsoft нет. Все, что знают нынешние «технические специалисты» в региональных офисах Microsoft – это заученные мантры уровня технического маркетинга, и не более. Мало того – таких специалистов нет и в технической поддержке Microsoft – пример тому, моя статья про то, как я общался с поддержкой Microsoft на предмет аутентификации пользователей в Azure Functions. А если копнуть чуть глубже, на предмет технических знаний «технических специалистов» Microsoft непосредственно о миграции между EA и CSP подписками в Azure – то там уже совсем мрак-мрачный, многие даже не знают о самой проблеме, типа – «да никаких проблем, все переносится на ура», не говоря уже о понимании ограничений и сценариях миграции – только маркетинговый посыл «у нас все работает, у нас все классно».

И тут самое время перейти ко второй части повествования про миграцию – технической. Тут искушенные в миграции между подписками люди скажут, что непосредственно перед самой миграцией группы ресурсов Azure выполняет проверку на валидность всех объектов и их связей для миграции. Но вот воспользоваться этой опцией в Azure отдельно от самого процесса миграции – для создания плана миграции и понимания блокирующих компонентов – не получится, Azure сразу после проверки начинает зачем-то сразу мигрировать ресурсы (это отдельный вопрос к индуским «архитекторам» Azure – ЗАЧЕМ?! – нельзя было разделить на 2 операции – проверка и если все прошло хорошо – кнопочка Продолжить и Отменить, чтобы оценить миграцию не отдельной группы ресурсов, а инфраструктуры в целом).

Но есть возможность создать глобальный скрипт, который проверяет все ограничения по миграции сразу – чтобы потом оценить инфраструктуру и выработать удобоваримый план миграции с минимальным временем простоя. Для этого нужно воспользоваться тем же API, который вызывает и портал Azure для проверки перед миграцией. Но если вы считаете, что вызов данного API в Azure – дело простого скрипта – могу сказать, что у меня «простой» скрипт на PowerShell разросся до 260 строк кода, а документация по API и какие-либо осмысленные примеры кода (даже отдельных важных фрагментов общего алгоритма) у Microsoft просто отсутствует.

Поэтому – читайте следующий пост, в котором я попробую немного осветит эту казуистическую «индускую логику», в которой даже простой вызов API теперь делается через …

Друге посты и видео по теме Azure и ИТ-карьеры:

Автоматическое развертывание Windows Failover кластеров в Azure и еще один пример неработающего публичного кода и поддержки от Microsoft


Смотри на действование Microsoft: ибо кто может выпрямить то, что Он сделал кривым? (Екк. 7:13)

Верить в наше время нельзя никому, порой даже самому себе. Мне — можно. (Старина Мюллер)

Северный пушной зверек подкрался незаметно, откуда его никто не ждал… (Работа)

Начало этой истории (которая по странному стечению обстоятельств практически совпала с другой историй про Microsoft support, о которой я писал ранее и с еще более печальной историей про бан моего курса по экзамену AZ-900 со стороны Microsoft) было драматичным… Заказчик присылает на развертывание дизайн ресурсной группы в Azure, в котором кроме всего прочего – еще и 6 Windows Failover Clusters по 2 сервака в каждом и с обычными сроками «на завтра». В принципе, все есть – ARM templates много раз деланы-переделаны, отдельные ARM template/DSC для кластеров официально опубликованы Microsoft на GitHub – https://github.com/Azure/azure-quickstart-templates/tree/master/301-storage-spaces-direct . Звоню заказчику, торгуюсь по срокам, договариваемся «на послезавтра, иншааллах». В моем отделе не принято «сетапить ручками» или сдавать заказчику непроверенные пакет ARM/DSC/PowerShell скриптов – потому день будет на тестирование «на всякий случай», хотя скрипты уже множество раз протестированы и отлажены на предыдущих деплойментах, в том числе и для этого заказчика буквально месяц назад – в общем, на 100% уверены и тестовое развертывание – это «чистая формальность»…

Ага! «Формальность»! Как же! До того момента, как следом за Microsoft с его комплектом ARM/DSC/PowerShell для развертывания кластера на GitHub не подкрался тот самый северный пушной зверек. Народ сразу взялся за дело и … смотрит на меня слегка офигевшими от прихода зверька глазами. Microsoft’овский скрипт для развертывания кластера выдает при тестовом прогоне ошибку:

“DSC Configuration \u0027ConfigS2D\u0027 completed with error(s). Following are the first few: PowerShell DSC resource MicrosoftAzure_xCluster failed to execute Set-TargetResource functionality with error message: The running command stopped because the preference variable “ErrorActionPreference” or common parameter is set to Stop: The network path was not found.\r\n The SendConfigurationApply function did not succeed. LCM failed to start desired state configuration manually.”

и деплоймент всего ARM шаблона обваливается 😦 Понятно, что «на послезавтра» сделать кластеры можно, но «ручками», а это не наш стиль – все инфраструктуры клиентов у нас хранятся в ARM/DSC/PowerShell и даже если нет полной копии сайта в Azure Site Recovery, а только бекапы – восстановление/развертывание копии инфраструктуры заказчика с наличием таких скриптов занимает от минут до нескольких часов.

И вот тут до меня начинает доходить весь круг тех проблем, которые очертил своими лапками пушной зверек, вызванный нежеланием Microsoft сопровождать и тестировать свои скрипты после очередных апдейтов (типа, мы вам их «кинули» 3 года назад и чего это вы еще недовольны?). А проблема в том, что примерно в 1/3 от всех развернутых клиентских инфраструктур у нас присутствуют кластеры и это означает, что случись сейчас что или клиенты захотят «дубликаты» – то у нас нет рабочих скриптов «быстро все повторить». В общем, «зверек» разгулялся по полной…

Быстрое изучение вопроса и поиск решения показало только то, что проблема не только у нас, но есть еще люди на просторах Интернета и даже успели опубликовать проблему в репозитории – https://github.com/Azure/azure-quickstart-templates/issues/6932 – но самое главное в данной ситуации, что никому в Microsoft проблема со скриптом на GitHub для развертывания кластера в Azure не интересна – запрос висит уже месяц и только дополнился еще одним пострадавшим… Ну не работает у людей инфраструктура в Azure – проблемы индейцев пользователей шерифа Microsoft не волнуют, Azure не требует поддержки для пользователей по мнению самого Microsoft. Кстати, и запрос к техническому специалисту в Microsoft, который привязан к конкретному заказчику «пошуршать по продуктовой команде и найти тех, кто выправит то, что сделалось кривым» – так и ушел «вникуда»… Периодически пингую «специалиста» последнюю неделю без какого-либо успеха… А что, Рождество же, Azure и проблемы могут и подождать, «ручками развернете и сконфигурите кластеры»…

Заранее предполагая такую проблему с тем, что в Microsoft об восстановлении скрипта никто и «не почешится», решил сделать запасной вариант развертывания кластеров в Azure, интегрированный в ARM template и использующий «чистый» PowerShell – разбираться, что пошло не так со сценарием DSC в «оригинальном» решении Microsoft, времени и желания не было.

Потому, пока Microsoft не пофиксит (может быть) «главный скрипт», вот вам основная идея, как автоматически развертывать кластеры в Azure через ARM с zero-touch. Да, получилось не так универсально, как в оригинале, но оно простое и понятное для всех, легко модифицируется и, главное, работает 😉

Итак, основные технические нюансы и сам код:

Первое – в Azure можно поднять только Windows Failover Cluster в режиме Storage Spaces Direct на 3 узла максимум. Кроме того, не все нагрузки поддерживаются в таком режиме в Azure, и, самое главное – цена вопроса, поскольку требуются производительные премиумные SSD диски для работы дисковой системы в режиме репликации Storage Spaces Direct в таком кластере.

Второе – чтобы развернуть кластер, необходимо, чтобы виртуальные машины, в нем участвующие, как узлы, имели частные статические IP в виртуальной сети Azure и были добавлены в единый Availability Set. ОС внутри этих ВМ должны быть добавлены в домен (кстати, если нужно только добавить ВМ в домен, то это можно сделать и непосредственно в ARM через расширение JsonADDomainExtension), на них установлены необходимые роли и службы. Это не проблема, такую работу выполняет простой PowerShell скрипт:

[CmdletBinding()]

param (

    [Parameter()]

    [string]

$domainname,

    [string]

$biosname,

    [string]

$adminname,

    [string]

$adminpwd

)

#Online the cluster’s disks

Get-Disk |  Where-Object IsOffline -eq $true | Set-Disk -IsOffline $false

#install failover clustering services and tools

Install-WindowsFeature Failover-Clustering -IncludeAllSubFeature -IncludeManagementTools

Start-Sleep -Seconds 5

Install-WindowsFeature FS-FileServer

Start-Sleep -Seconds 5

# generate domain admin’s credentials for domain join

$adminusername = “$biosname\$adminname”

$password = ConvertTo-SecureString -String $adminpwd -AsPlainText -Force

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $adminusername, $password

Add-Computer -DomainName $domainname -Credential $cred -Restart -Force

Скрипт помещается в виде файла в какой-то Azure BLOB Storage (не забудьте разрешить анонимный доступ к объектам внутри контейнеров, хотя можно и заморочиться с атрибутам ресурса и указанием ключа доступа к этому BLOB) и запускается такой скрипт внутри VM из ARM template, как ресурс для создаваемой виртуальной машины с использованием extentions типа CustomScriptExtention, с указанием правильного пути к скрипту, который вы только что скопировали в BLOB (атрибут fileUris) и генерацией правильной командной строки (атрибут commandToExecute). Вот пример фрагмента кода именно ресурса (должен быть пристыкован к BМ) для ARM template:

“resources”: [

            {

“type”: “extensions”,

“name”: “CustomScriptExtension”,

“apiVersion”: “2017-03-30”,

“location”: “[parameters(‘location’)]”,

“dependsOn”: [

“[concat(‘Microsoft.Compute/virtualMachines/’, parameters(‘vmname1av1’))]”,

“[concat(‘Microsoft.Compute/virtualMachines/’, parameters(‘vmname2av1’))]”

              ],

“properties”: {

“publisher”: “Microsoft.Compute”,

“type”: “CustomScriptExtension”,

“typeHandlerVersion”: “1.8”,

“autoUpgradeMinorVersion”: true,

“settings”: {

“fileUris”: [

https://mystorage.blob.core.windows.net/CL/pre-setupVM.ps1&#8221;

                  ],

“commandToExecute”: “[concat(‘powershell -ExecutionPolicy Unrestricted -File pre-setupVM.ps1 -domainname ‘, parameters(‘domainname’), ‘ -biosname ‘, parameters(‘netbiosname’), ‘ -adminname ‘, parameters(‘adminUsername’), ‘ -adminpwd ‘, parameters(‘adminPassword’))]”

}

}

}

]

Еще хочу обратить внимание на формирование строки для выполнения пользовательского скрипта – начинается она с вызова powershell с правильными параметрами -ExecutionPolicy Unrestricted и указанием имени файла вашего скрипта в параметре -File.

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

Третье – и вот тут, после выполнения скрипта и перезагрузки каждой машины начинаются проблемы. ARM считает свою работу по запуску скриптов выполненной и, самое главное, в описание каждой из виртуальной машины в ARM template вы можете добавить только один ресурс типа extensions/CustomScriptExtension. А после перезагрузки нам нужно запустить на одном из узлов будущего кластера еще один скрипт, который сформирует кластер. Сделать это в ARM template нельзя – второй скрипт не указывается, и объяснить ARM, что после перезагрузки на машине стартует еще один скрипт и окончания его работы тоже нужно дождаться – тоже не получится… Потому – занимаемся «лайфхакингом». Если нельзя сделать внутри ARM template, это можно сделать в скрипте PowerShell, который запускает развертывание ARM template. Схематически такой скрипт выглядит следующим образом:

  1. Запускаем команду PowerShell на развертывание ARM – New-AzResourceGroupDeployment с указанием файла «большого» ARM, который развернет всю требуемую инфраструктуру и запустит на требуемых виртуалках скрипт конфигурации машины (выше);
  2. А теперь «хак» – для каждой из виртуальных машин, где уже был выполнен скрипт, запускаем команду по удалению расширения, что позволит выполнить еще одно развертывание ARM со вторым скриптом, который и сконфигурирует кластер – Remove-AzAMCustomScriptExtention . Единственное НО тут – это то, что данная команда для каждой из ВМ выполняется достаточно долго – 3-5 минут.
  3. Снова запускаем New-AzResourceGroupDeployment – на этот раз для развертывания второго шаблона ARM, в котором для каждой второй виртуальной машины (одной из пары узлов кластера) выполняется другой скрипт, как extensions/CustomScriptExtension.

Четвертое – для работы кластера требуется кворум, который для нашего варианта в Azure реализуется с использованием Cloud Witness. Для этого требуется создать Azure BLOB Storage, получить Access Key этого хранилища и использовать ключ для конфигурирования кворума кластера в режиме Cloud Witness. Потому в логике скрипта выше появляется еще один пункт 2а, где после создания инфраструктуры и сервисов (в том числе и хранилища для Cloud Witness) и удаления первых расширений, мы получаем ключи доступа для созданных хранилищ и на следующем шаге передаем их как параметр в новый ARM template – и дальше уже внутри ARM они будут переданы в вызываемый через extensions/CustomScriptExtension скрипт PowerShell для создания непосредственно кластера.

Итого, общий код PowerShell скрипта, который будет выполнять развертывание двух ARM template, с переключением extensions/CustomScriptExtension и получением ключей хранилища:

# deploy basic infrastructure from main ARM template (defined in $templateFilePath)

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Mode Incremental -TemplateFile $templateFilePath -TemplateParameterObject $Params | Out-Null

# delete CustomScriptExtension from deployed VMs (names should be defined in $deployedVMs array)

foreach($vmname in $deployedvms){

Remove-AZVMCustomScriptExtension -ResourceGroupName $ResourceGroupName -VMName $vmname -Name “CustomScriptExtension” -Force | Out-Null

}

# get storage account’s key for Cluster quorum Cloud Witness and set values in $Params object for next ARM deployment

$keys = Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $Params[‘storagename1’]

$Params[‘key1’] = $keys[0].Value

# deploy second CustomScriptExtension (build the cluster) from second ARM template (defined in $templateFilePath2)

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Mode Incremental -TemplateFile $templateFilePath2 -TemplateParameterObject $Params | Out-Null

Теперь дело за малым – за созданием кластера.

Сам код вызова extensions/CustomScriptExtension во втором ARM template выглядит аналогично первой части (второй скрипт тоже не забудьте поместить в правильный контейнер, как и в первом случае), единственно – в параметрах скрипта передается 2 имени узлов будущего кластера и другие его параметры:

“resources”: [

        {

“type”: “Microsoft.Compute/virtualMachines/extensions”,

“name”: “[concat(parameters(‘vmName2av1′),’/customscript’)]”,

“apiVersion”: “2015-06-15”,

“location”: “[parameters(‘location’)]”,

“properties”: {

“publisher”: “Microsoft.Compute”,

“type”: “CustomScriptExtension”,

“typeHandlerVersion”: “1.4”,

“settings”: {

“fileUris”: [

https://mystorage.blob.core.windows.net/CL/setupCluster.ps1&#8221;

                    ],

“commandToExecute”: “[concat(‘powershell -ExecutionPolicy Unrestricted -File setupCluster.ps1 -domainname ‘, parameters(‘domainname’), ‘ -biosname ‘, parameters(‘netbiosname’), ‘ -adminname ‘, parameters(‘adminUsername’), ‘ -adminpwd ‘, parameters(‘adminPassword’), ‘ -vmnames \”‘, parameters(‘vmname1av1′),’,’,parameters(‘vmname2av1’),’\” -clustername ‘, parameters(‘availabilitysetname1’), ‘ -clusterip ‘, variables(‘cluster1’), ‘ -storageaccount ‘, parameters(‘storagename1’), ‘ -storageacckey ‘, parameters(‘key1’))]”

                }

            }

        }

]

Пятое – чтобы развернуть кластер, скрипт должен выполняться с правами администратора домена, а вот CustomScriptExtension исполняет скрипт с правами ОС внутри виртуальной машины. Но скрипт PowerShell нельзя имперсонализировать в самом скрипте, но, как вариант, можно выполнить команду с правами администратора на удаленном компьютере через Invoke-Command. Т.е. запускаем скрипт через ARM template, передаем логин/пароль админа в скрипт, который создает идентити админа и вызывает команду через Invoke-Command с правами администратора.

Шестое – Windows Failover Cluster НЕЛЬЗЯ развернуть удаленно через Invoke-Command даже с правами администратора. НО, можно сконфигурировать удаленное исполнение команд Invoke-Command через аутентификацию CredSSP, которую предварительно надо настроить на обоих узлах с использованием пары перекрестных команд Enable-WSManCredSSP:

  • Для каждого из узлов включаем режим сервера Enable-WSManCredSSP Server -Force
  • Для каждого из узлов включаем доверие Enable-WSManCredSSP Client -DelegateComputer <имя второго узла> -Force

После конфигурации CredSSP для каждого узла появляется возможность использования Invoke-Command для создания кластера.

Таким образом второй скрипт PowerShell, который создает кластер, будет выглядеть следующим образом:

[CmdletBinding()]

param (

    [Parameter()]

    [string]

$domainname,

    [string]

$biosname,

    [string]

$adminname,

    [string]

$adminpwd,

    [string]

$vmnames,

    [string]

$clustername,

    [string]

$clusterip,

    [string]

$storageaccount,

    [string]

$storageacckey

)

# create domain admin credential’s object

$adminusername = “$biosname\$adminname”

$password = ConvertTo-SecureString -String $adminpwd -AsPlainText -Force

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $adminusername, $password

#get nodes name from parameter string like “node1,node2”

$nodesArr = $vmnames -split “,”

$n1 = $nodesArr[0]

$n2 = $nodesArr[1]

#enable CredSSP authentication for admin impersonation by remote calls

#set both nodes as CredSSP’s servers

Invoke-Command $nodesArr -Credential $cred {Enable-WSManCredSSP Server -Force}

#set current node CredSSP’s client that trusts other node

Enable-WSManCredSSP Client -DelegateComputer $n1 -Force

#set other node CredSSP’s client that trusts current node

Invoke-Command $n1 -Credential $cred {Enable-WSManCredSSP Client -DelegateComputer $Using:n2 -Force}

Start-Sleep -Seconds 5

# create cluster as domain admin with one node by remote call over CredSSP

Invoke-Command $n1 -Credential $cred {New-Cluster -Name $Using:clustername -Node $Using:n1 -NoStorage -AdministrativeAccessPoint ActiveDirectoryAndDns -StaticAddress $Using:clusterip -Force} -Authentication Credssp

Start-Sleep -Seconds 30

Invoke-Command $n1 -Credential $cred {Get-Cluster $Using:clustername} -Authentication Credssp

Start-Sleep -Seconds 5

# add second node to the cluster as domain admin by remote call over CredSSP

Invoke-Command $n1 -Credential $cred {Get-Cluster -Name $Using:clustername | Add-ClusterNode -Name $Using:n2 -NoStorage} -Authentication Credssp

Start-Sleep -Seconds 30

Invoke-Command $n1 -Credential $cred {Get-Cluster $Using:clustername} -Authentication Credssp

Start-Sleep -Seconds 5

# configure cluster’s Storage Spaces Direct as domain admin by remote call over CredSSP

Invoke-Command $n1 -Credential $cred {Enable-ClusterStorageSpacesDirect -Confirm:$false} -Authentication Credssp

Start-Sleep -Seconds 30

# configure cluster’s cloud witness as domain admin by remote call over CredSSP

Invoke-Command $n1 -Credential $cred {Get-Cluster -Name $Using:clustername | Set-ClusterQuorum -CloudWitness -AccountName $Using:storageaccount -AccessKey $Using:storageacckey} -Authentication Credssp

Start-Sleep -Seconds 5

# configure cluster’s cloud witness as domain admin by remote call over CredSSP

Invoke-Command $n1 -Credential $cred {Get-StoragePool S2D* | New-Volume -FriendlyName Data -FileSystem CSVFS_ReFS -UseMaximumSize} -Authentication Credssp

Вот и все готово… Получилось, как я уже писал выше – куда более лаконично, нежели нагромождение кода DSC у Microsoft (который и обвалился в результате), более понятно и читаемо (хотя да, есть некоторые «странности», но это опять таки – вопросы к МС с его Invoke-Command и ограничениями для extensions/CustomScriptExtension) и, главное – оно работает, в отличие от «элитарного» кода Microsoft.

Сейчас держим про запас 2 набора файлов IaC для наших заказчиков с кластерами в Azure – один с «классическим» и нерабочим сейчас кодом Microsoft для создания кластеров через ARM/DSC – в надежде, что Microsoft таки читает запросы на разрешение проблем и хоть как-то сопровождает свой код, и второй – вот данный момент рабочий и приведенный выше.

Я уже писал про компетенцию и поддержку своих продуктов со стороны Microsoft – этот случай из той же оперы, причем тут Microsoft явно забил на свой публично опубликованный код (типа, а вот сопровождать не обещали). Так что, как сказано в предисловии к посту – верить никому нельзя и мы таки попытались выправить то, что Microsoft сделал кривым.

И да, если Microsoft не в состоянии поддерживать документацию, код и вообще – оказывать качественный саппорт – может, им стоит прислушаться к тому совету, который мне написали в комментариях к предыдущему моему посту (хотя Microsoft пошел простым путем – находит тех, кто делает это бесплатно за непонятные и совершенно эфимерные плюшки статуса MVP, который еще и довольно таки “подозрителен”, как я уже писал ранее):

Игорь, привет. По поводу твоего свежего поста – совет: предложить им сделать аналог Bug Bounty/Marketplace: за чужой хороший код и документацию платить премии.

Друге посты и видео по теме Azure и ИТ-карьеры:

Microsoft Azure Functions на PowerShell–включение аутентификации пользователя для HTTP Trigger, получаем информацию об аутентификации пользователя в коде функции на PowerShell и про “поддержку” Microsoft.


Начнем с технической части повествования – чтобы народу было интересно и полезно почитать, а уже потом перейдем к «политическо-ИТшной» – это уже по желанию, но как по мне так смешно, что аж печально… 😉

Итак, в некоем решении используются Azure Functions, написанные на PowerShell Core (потому что все мои админы знакомы и легко могут модифицировать, развивать решение при необходимости) и в качестве безопасности (аутентификации пользователей) работающие со стандартной идентификацией от Azure AD при вызове того, что называется Http Trigger, т.е. функции, имеющей свой персональный URL, по которому ее и можно запустить, передав требуемые параметры.

Требуется – при развитии решения появилась потребность не только аутентифицировать пользователей, но и иметь некие аналоги аудита (кто какие функции вызывает) и ролевой модели (запрет некоторым людям вызывать функции или использовать глобальные параметры).

Аутентификация на базе Azure AD для Azure Functions включается в пару кликов и не требует какого-либо изменения кода самой Azure Functions – для функции вся аутентификация работает при описанном ниже сценарии «прозрачно», всю работу по аутентификации на себя берет «движок» Azure. Не путать, кстати, с опцией Identity, которая позволяет имперсонализировать сам исполняемый экземпляр Azure Functions в Azure и выполнять код под определенным аккаунтом в Azure, которому можно предоставлять разные права – чем, собственно, мы и пользуемся – используя Azure Functions для выполнения различных задач обслуживания, предоставляя толпе из L1 для выполнения базовых операций не доступ к порталу Azure и клиентским подпискам, а только к функциям, которые уже все сделают «как нужно и правильно»…

Но вернемся к аутентификации пользователей при вызове Azure Functions. Итак:

Заходим на основную страницу требуемой Azure Functions, переключаемся в закладку Platform Features, и там кликаем на опцию Authentication / Authorization

clip_image002

На открывшейся странице устанавливаем переключатель App Service Authentication в положение On и в появившемся ниже выпадающем списке Action to take when request is not authenticated выбираем опцию Log in with Azure Active Directory, а в следующем списке Authentication Providers кликаем на пункт Azure Active Directory / Not Configured

clip_image004

Откроется новое окно настроек – создания экземпляра приложения для аутентификации в Azure AD, где в Managed Mode выбираем опцию Express и далее, в появившихся ниже опциях, выбираем правильный каталог Azure AD (если в вашем профиле их несколько зарегистрировано), Managed Mode оставляем, как есть – Create New AD App – и оставляем имя по умолчанию.

clip_image006

Кликаем Ok в данном диалоге, ждем окончания процесса создания объекта, и в форме Authentication / Authorization, куда вас вернет портал, кликаем вверху на иконку Save. Опять таки – ждем окончания операции и получаем сконфигурированное приложение с аутентификацией от Azure AD. Теперь, при обращении к Azure Functions, которые зарегистрированы, как Http Trigger, Azure будет запрашивать у вызывающего пройти аутентификацию и предъявить аккаунт пользователя из указанной выше Azure Active Directory. Так что анонимные пользователи такую функцию теперь не вызовут.

НО! Такой сценарий достаточен только для «отсечения» анонимных пользователей, а вот если требуется какое-либо подобие RBAC внутри самих Azure Functions – например, пользователь аутентифицируется, но при этом часть параметров функции ему недоступна или доступ к данным внутри самой функции должен быть ограничен – здесь, увы, такая аутентификация не поможет. Да и вообще, у Azure нет толкового RBAC для Functions.

Т.е. после вызова функции вызов перенаправляется на аутентификацию в Azure AD и если все ок – управление передается на Azure Functions и нам надо теперь внутри исполняемой функции получить клейм пользователя и все атрибуты его учетной записи – ID в аутентифицирующей системе, имя, саму систему и прочие токены. При этом все это еще требуется получить в PowerShell.

И тут начинается самое интересное – хотя Microsoft со всех трибун кричит про внедрение Serverless решений, рассказывает про использование Azure Functions вместе с PowerShell для процессов автоматизации – в реальности никакой официальной документации от Microsoft, особенно фундаментальной, по теме Functions/PowerShell вы не найдете. В Интернете ее тоже нет, даже на любимом всеми StackOverflow – просто никто не использует решение, не смотря на громкие заявления Microsoft.

Нашел пару документов про работу с идентити/информацией аутентификации в Functions/Web Apps применительно к C#, но это нагромождение классов и вызовов было явно не релевантно для кода PowerShell. Чтобы понять всю глубину проблемы, стоит сказать, что ни я, ни моя команда – ни разу не девелоперы – только PowerShell скрипты для автоматизации процессов заказчиков и auto-healing, только хардкор, как, например, скриптик PowerShell на 1000 строк для правильного «развертывания всего» с соответствующими внутренностями VM. Для нас вообще удивительно, кстати, почему работа с тем же Azure Storage Queues в PowerShell пишется в 3 строки, а в C# сначала надо создать десяток классов при неочевидном выигрыше в производительности самой Functions. Но это уже лирика, а вывод простой – для людей, которые занимаются автоматизацией процессов на PowerShell, документации по разработке на сайте Microsoft совершенно недостаточно, приходится собирать по крупицам с разных источников, работать «методом тыка» или открыть тикет в саппорте. На том и порешили – продолжаем «копать» и обращаемся в саппорт.

Методом логического анализа кода («методом тыка») на C# обнаружилось, что чтобы работать cо всей информацией по аутентификации пользователя, вызывающего Functions с аутентификацией в Azure AD (как настроено выше) в PowerShell коде можно через Headers одной командой:

$Request.Headers

Ниже – представленный в JSON объект заголовка вызова Http Trigger в Azure Functions (тот самый $Request.Headers). Все поля, как на ладони и далее работаем с ними, как с обычным hashtable в PowerShell, т.е. получаем нужное значение по имени ключа (которым являются поля заголовка ниже).

clip_image008

Т.е., чтобы получить имя пользователя, его ID, его Access Token и т.п. в коде PowerShell – требуется максимум 1-2 команды:

$headersObj = $Request.Headers # get call’s headers

$username = $headersObj[“x-ms-client-principal-name”]   # get user account name

$userid = $headersObj[“x-ms-client-principal-id”]       # get user AAD ID

$userip = $headersObj[“x-forwarded-for”]                # get user IP

И все, далее используем переменные или обращаемся к нужному элементу по имени ключа. Все, тема закрыта, используем нужную информацию для журналирования и внутренних проверок.


И тут начинается вторая часть истории – которая смешная и печальная, особенно в разрезе предыдущей моей истории про то, как Microsoft Ukraine заблокировала и удалила мои видео по курсу для сертификации AZ-900 по Azureпродолжения истории c Microsoft Ukraine после).

Итак, открыл я кейс в Microsoft support по данной проблеме и вот выдержка переписки:

1. Я описываю проблему

clip_image010

2. И получаю от Microsoft Support ответ, что в моем сценарии (option 1, процесс конфигурирования которого и описан выше) такую информацию получить нельзя:

clip_image012

3. Причем, получив такой ответ – я уже 100% уверен в возможности получения этих данных, просто еще не имею на руках конкретного кода. И я отправляю письмо типа – «точно нельзя с опцией 1? Уверены?» и получаю от Microsoft support еще один отрицательный ответ – нет, вы не можете получить такую информацию (причем, происходит это через 5 дней, три из которых – рабочие):

clip_image014

4. И в ответ на это дело я уже пишу, что нашел сценарий, код из 2х строк работает и можно закрывать кейс.

И вот тут начинается самое интересное и «смешное». Мне сразу же перезванивает (буквально в течение 15 минут, до этого отвечал только по почте и то – через сутки) сотрудник службы поддержки Microsoft, который просит поделиться с ними решением проблемы и кодом!!! Т.е. Microsoft, который до этого активно удалял мои технические видео про Azure из принадлежащей мне группы в Facebook, а потом и удалил мой аккаунт из админов – про это читайте тут и тут – теперь вдруг другой рукой просит поделиться информацией со своей поддержкой?! Серьезно?! Я должен бесплатно делать за сотрудников Microsoft их работу? Той информацией, которую Microsoft в качестве базовой просто обязан опубликовать в документации, поскольку и продукт – платный, и везде, со всяких трибун, Microsoft кричит о важности безопасности вообще и правильного кода – в частности. И уж точно этой информацией должна владеть служба поддержки Microsoft…

Чтобы вам было еще смешнее – я и сейчас продолжаю получать письма с просьбами отдать код, последнее пришло уже сегодня, 25 декабря, через 9 дней после того, как я сообщил, что задача имеет решение. Вот реально?! За 9 дней внутри Microsoft собственный отдел поддержки не смог найти техническое решение и продолжает ждать у моря погоды – поделюсь ли я кодом?!

clip_image016

И самое смешное – Microsoft за последние 3-5 лет сократил практически весь высококвалифицированный технический персонал из своих локальных офисов ввиду того, что Azure поддержки не требует, его надо только продавать, а технической поддержкой пусть занимаются партнеры «за деньги». Azure, как показывает опыт, просто за бла-бла-бла девочек из маркетинга Microsoft не продается (про это я говорю тоже в первой серии курса AZ-900), а партнеры, при таких отношении, «экспертизе», «документации» и «поддержке» от Microsoft – точно не будут вкладываться в «прибыльный и простой бизнес Azure» и не будут развивать компетенции Azure, как и клиенты не горят желанием платить деньги «каким-то партнерам», один раз столкнувшись с подобным невежеством поддержки «самого Microsoft». И, особенно, партнерам не интересно это делать, если развитие компетенций не интересно самому Microsoft и даже поддержка Microsoft не в состоянии дать ответ на простой, как оказалось, вопрос.

И если объективно смотреть на ситуацию c поддержкой Azure, то можно смело сказать, исходя из своего опыта работы С Microsoft последние пару лет, что никакой реальной поддержки и технической компетенции «на местах» у Microsoft сейчас просто нет. Выгребайте сами. И иметь у себя классного специалиста по Azure в штате – это будет даже лучше и безопаснее, чем вам пришлют какого-то «технического консультанта» от Microsoft, который в реальности окажется «не пойми кто», как я уже писал во второй части большого поста про Microsoft.

Но и это еще не все про Microsoft и поддержку Azure… Читайте в следующем посте про развертывание Windows кластеров в Azure и про официальные скрипты от Microsoft.

Друге видео то теме Azure и ИТ-карьеры: