MY.UAСтатьи
DevOps engineer: кто такие? Особенности работы специалистов
DevOps engineer: кто такие? Особенности работы специалистов

DevOps engineer: кто такие? Особенности работы специалистов

Спрос на DevOps растет, как и вознаграждение, которые готовы платить компании за эту работу. Так, по трендам на DOU, число вакансий для DevOps специалистов в Украине за последние два года увеличилось почти вдвое – c 253 до 474 вакансий. При этом среднее количество откликов на одну вакансию снизилось – с 4,1 до 1,6. Рекрутеры жалуются, что сложно найти хорошего сотрудника, а средняя зарплата по рынку в Украине достигла $3,5 тыс. в месяц, а в США – $126,235 в год.

Помогаем
Поможем собрать 300 тыс. грн на снаряжение для 113-й бригады, которая воюет в Харьковской области

Редакция MC.today выяснила, что такое DevOps и DevOps engineer, какие плюсы и минусы у этой методологии, и что нужно знать, чтобы пойти этим карьерным путем.

Что такое DevOps

Сам DevOps (акроним от англ. development & operations. – Прим. ред.) – это не профессия. Это культура и способ работы, при котором разработчики и операционные инженеры работают как одна команда. Так они могут быстрее выпускать обновления и устранять неполадки в системе, если они возникли.

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

В докладе State of DevOps организация DORA в зависимости от производительности команд разработки и эксплуатации программного обеспечения выделяет четыре вида команд:

  • элита (elite);
  • команды с высокой производительностью;
  • средней производительностью;
  • низкой производительностью. 

Так, топовые компании, такие как Amazon, Google и Netflix, выпускают обновления несколько раз в день. У них уходит меньше часа, чтобы внести изменений и на восстановить систему, если случился сбой. А компании с низкой производительностью выпускают обновления меньше, чем раз в полгода. И у них возникает больше сбоев из-за обновлений (примерно 15-30%). А чтобы внести изменения, им нужно более шести месяцев. 

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

Соотношение компаний с высокой и низкой производительностью. Источник: State of DevOps 2021 

Подписывайтесь на нашу Facebook-страничку. Победы, советы, полезные новости и тексты.

Компания Netflix даже добавила инструмент Chaos Monkey, который случайным образом «убивает» процессы или серверы. Это нужно чтобы убедиться, что сервис переживет критическую ситуацию без неудобств для клиента.

Достоинства и недостатки работы

Можно выделить такие достоинства работы по этой методологии:

  • Обновления выпускаются быстрее и чаще. 
  • Релизы (англ. Release – последний выпуск программного обеспечения, в котором есть все изменения и обновления – Прим.ред.) становятся надежнее и после них всплывает меньше ошибок.
  • Затраты на разработку снижаются до 20%.
  • Команда может быстрее исправить ошибки, если те уже возникли.

Недостатки:

  • Саму методологию сложно внедрить – для этого нужно переучивать всю команду работать по-новому, а в условиях постоянных спринтов (небольших фиксированных отрезоков времени, от одной до четырех недель, за который команда должна сделать какую-то часть проекта – Прим. ред.) сотрудники могут быть в этом не заинтересованы.
  • На рынке мало специалистов, которые могут эту технологию в компании внедрить.
  • Высокая нагрузка на менеджмент. Чтобы DevOps работал, его нужно правильно внедрить и выстроить рабочие процессы. Не все менеджеры могут с этим справиться.

История возникновения

Раньше отделы разработки (development) и эксплуатации (operations) работали изолированно друг от друга. Сначала программисты писали код, а потом системные администраторы начинали его развертывать и интегрировать (все действия, которые готовят программную систему к использованию – Прим. ред.). Так работала каскадная модель процесса разработки ПО – Waterfall. Первым эту модель описал Винстон Уолкер Ройс, директор Lockheed Software Technology Center, в 1970 году.

Процесс шел по такой схеме: 

  1. ставили техническое задание;
  2. создавали прототип;
  3. писали код;
  4. тестировали, развертывали, устраняли ошибки, которые возникали при тестировании;
  5. оказывали поддержку после выпуска обновления.

В этой модели следующий этап работы не мог начаться, пока не закончится предыдущий, и нельзя было вернуться на предыдущий этап, чтобы что-то изменить.

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

Поэтому в 2001 году появилась гибкая методология – Agile. Схема та же, но изменились принципы, которые прописали в Agile Manifesto. Так, в гибкой методологии главное – это хороший продукт и довольный заказчик. Менять что-то можно в любой момент, разработчики с заказчиками должны были работать вместе, как одна команда.

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

DevOps стал следующим этапом эволюции инструментов и методов совместной работы. Он позволил быстрее выпускать качественное программное обеспечение. Само движение начало формироваться в 2007-2008 годах. А уже в 2009 году после конференции DevOpsDays, которую организовал бельгийский разработчик Патрик Дебуа, о нем узнал весь мир.

«Библией» DevOps считается книга Патрика Дюбуа, Джина Ким, Джеза Хамбл и Джона Уиллис «Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях», впервые опубликованная на английском языке в 2016 году.

Чтобы получить надежную, безопасную, но при этом гибкую систему выпуска обновлений, у разработчиков, тестировщиков и администраторов появились общие культура и цели. Каждый из них должен понимать, что делает другой и зачем. Так появились T-shaped people (люди в форме Т – Прим. ред.), у которых есть своя глубокая специализация, но они понимают, как устроены другие процессы.

Подписывайтесь на наш Telegram-канал: важное и интересное для активных людей

Еще одна важна часть DevOps –  непрерывная интеграция и доставка (Continuous integration и Continuous delivery или CI/CD). Эти методы автоматизируют процесс выпуска программного обеспечения, и как результат – помогают свести к минимуму ошибки и повысить темпы сборки и качество разрабатываемого продукта. 

Продолжительность процессов DevOps. Источник: Analytics India Magazine

Виды Ops

Внутри DevOps уже начали появляться специализации. Они зависят от должности и того, чем занимается команда разработчиков. Можно выделить такие виды Ops:

  • PlatOps/InfraOps/SysOps (Platform Operations, Infrastructure Operations, System Operations) – в разных компаниях называется по-разному, но речь всегда идет про администрирование инфраструктуры. Специалисты этого направления отвечают в первую очередь за развертывание, масштабирование, миграцию и управление системами. В отличие от DevOps, SysOps следует подходу ITIL (Information Technology Infrastructure Library или Библиотека инфраструктуры информационных технологий — это серия книг, в которых собраны лучшие практики по управлению, отладке и постоянному улучшению бизнес-процессов, связанных с ИТ – Прим. ред.).
  • DataOps – разработчики и администраторы работают вместе с аналитиками и специалистами по обработке данных.
  • SecOps – позволяет найти уязвимые места и заранее их защитить с помощью автоматизации.
  • DevSecOps – вопрос безопасности поднимается на каждом цикле разработки.
  • ITOps – доставка и поддержка приложений, услуг, инструментов и технологий, необходимых для работы компании, которая обеспечивает ІТ-инфраструктуру. Компьютерное оборудование, программное обеспечение, сетевые службы, сервисы, электронная почта, мониторинговые системы, политики информационной безопасности, системы контроля, системы резервного копирования и хранения данных, оргтехника, телефония и т.д. — всё это составляющие ІТ-инфраструктуры предприятия. 
  • NoOps или No operations – автоматизируется все, от поддержки разработки программного обеспечения до его запуска. По этой концепции, при таком уровне автоматизации специальная внутренняя группа управления программным обеспечением (Ops team) не нужна.
  • LiveOps – когда меняют или улучшают бащовые функции в продукте без выпуска нового релиза.
  • CloudOps – формализирует процедуры, которые позволяют правильно работать облачным платформам, приложениям и данным в них.
  • BizOps – применяет технологии для достижения стратегических целей компании. В проведенном до пандемии исследовании 2018 Pulse of the Profession от Института проектного менеджмента (Project Management Institute) аналитики посчитали, что каждые 20 секунд компании по всему миру теряют $1 миллион из-за неэффективной реализации бизнес-стратегии, в том числе из-за внедрения ненужных технологий. BizOps должен решать эту проблему.  
  • NetOps – модернизируют IТ-инфраструктуру и используют программно-определяемые сети, сети на основе намерений и виртуализации сетевых функций. Подход направлен на то, чтобы сделать сетевые операции интуитивно понятными. Они должны зависеть от контекста и ориентироваться на аналитику за счет внедрения методов AI (англ. artificial intelligence – искусственный интеллект. – Прим. ред.) и ML (англ. machine learning – машинное обучение. – Прим. ред.).

Сферы работы DevOps engineer

Вот что делает DevOps Engineer, согласно IT-компании Contino:

  • Разрабатывает инструменты и процессы для управления инфраструктурой.
  • Работает на разных платформах с разными языками программирования.
  • Автоматизирует рабочие нагрузок между несколькими облачными провайдерами.
  • Автоматизирует процессов тестирования и развертывания.
  • Предоставляет внутреннюю и внешнюю поддержку на нескольких платформах.
  • Создает инструменты и процессы и повышает удовлетворенность пользователей.
  • Управляет контролем версий через Git и подобные системы.
  • Прописывает конвейеры непрерывной интеграции (англ. continuous integration, CI – Прим. ред.) непрерывного развертывания (англ. continuous delivery или continuous deployment, CD – Прим. ред.) программного обеспечения в процессе разработки.
  • Создает и настраивает оркестраторов контейнеров (оркестраторы – автоматизируют и управляют жизненным циклом контейнеров – Прим. ред.).
  • Работает с разработчиками, чтобы те написали хорошо спроектированные архитектуры микросервисов (это облачный подход, при котором единое приложение строится из множества слабосвязанных компонентов меньшего размера, так называемых сервисов, поддерживающих независимое развертывание – Прим. ред.).

Collaboration of both software developers and IT specialists. Acronym DevOps of the yellow square pixels on a black matrix background. 3D illustration picture

Процессы и объекты DevOps

Методология DevOps применяется на всех стадиях жизненного цикла программного обеспечения с момента, когда создают код до того, как продуктом пользуются пользователи:

  • Когда разработчики пишут код методология DevOps применяется для анализа и контроля версий, чтобы слияние кода произошло без ошибок.
  • На этапе сборки (англ. build. – Прим. ред.) нужна непрерывная интеграция различных сборок.
  • На этапе теста продукта непрерывное тестирование дает обратную связь по бизнес-рискам.
  • При работе с пакетами (англ. operate. – Прим. ред.) – нужен репозиторий артефактов (артефакты в артефактном хранилище могут контролироваться версиями, за счет чего их гораздо легче искать и управлять ими – При. ред.), предварительная установка приложения.
  • Во время выпуска (англ. release. – Прим. ред.) DevOps автоматизиет выпуск и официально его утверждает.
  • Когда развертывается конфигурация (англ. deploy. – Прим. ред.) нужно управлять инфраструктурой как кодом.
  • На последнем этапе мониторинга нужно оценить производительность приложения и опыт работы с конечным пользователем.

Цели, задачи, принципы

DevOps можно использовать для таких целей:

  • быстрее выйти на рынок;
  • снизить количество ошибок и быстрее с ними справляться после релиза;
  • быстрее восстанавливаться после сбоев.

Чтобы достигнуть этих целей, DevOps должны выполнять такие задачи:

  • согласовывать процессов разработки и поставки ПО с эксплуатацией;
  • автоматизировать процессы разработки, тестирования и развертывания;
  • непрерывно тестировать качество приложений;
  • управлять IТ-инфраструктурой как кодом;
  • управлять изменениями;
  • постоянно мониторить производительность приложений и состояния инфраструктуры.

Основные принципы DevOps это принцип потока – ускоренной доставки продукта от разработчиков в отдел эксплуатации, а также принципы обратной связи и постоянного обучения. 

Чтобы оценить, готова ли компания внедрить DevOps, или оценить уже внедренные процессов используется фреймворк CALMS. Эту аббревиатуру придумал Джез Хамбл, один из авторов книги «Руководство по DevOps». Она расшифровывается как «культура, автоматизация, бережливость, измерения и распространение знаний».

Знания необходимые для работы DevOps engineer

По мнению Contino, DevOps инженеру нужно освоить основные шесть навыков. Это:

    1. Основы Linux – операционной системы, основанной на Unix, семействе переносимых, многозадачных и многопользовательских операционных систем. Большинство ролей DevOps будут использовать Linux в той или иной форме. Благодаря открытому исходному коду выучить ее проще и быстрее чем Windows. В интернете есть много ресурсов, которые помогут изучить Linux. Еще можно сдать экзамены в Linux Professional Institute Certification, что поможет систематизировать свои знания об этой операционной системе.
    2. Необходимо понимать хотя бы базовые концепции программирования: циклы, переменные, массивы, списки и т. д. Это пригодится не только, когда нужно будет прочитать или изменить код, но и если нужно написать сценарии и автоматизировать рабочие нагрузки. Начать изучение лучше всего с языка програмирования Python, так как он достаточно прост. Потом стоит освоить и зяык программирования Java.
    3. Unix оболочка Bash – самый важный язык сценариев для автоматизации задач в среде Unix, как и Powershell в среде Windows. Даже если вы предпочитаете писать сценарии на Python или любом другом языке, Bash – самый распространенный.
    4. GIT – это система управления версиями, которая отслеживает изменения в коде. Ее используют все команды разработки программного обеспечения. 6.Основы работы в сети. Чтобы начать свою карьеру в DevOps, не нужно быть сетевым инженером, но нужно знать: 1. Что такое ip. 2. Что такое подсеть и маска подсети. 3. Что такое маршрут. 4. Что такое маршрутизатор и коммутатор. 5. Что такое VPC.
    5. Основы работы с облачными платформами, например, такими как Amazon Web Services, Google Cloud Platform или Azure. Для этого нужно научиться работать с котейнерами, непрерывной ингтеграцией, непрерывной доставкой и непрерывным развертыванием. Контейнеры — это способ упаковки и изоляции запущенных приложений. Это более безопасно и делает вашу рабочую среду более предсказуемой, потому что контейнер всегда будет работать одинаково, независимо от того, на каком сервере или компьютере он находится. Контейнеры часто используются в конвейерах CI/CD и в производственных рабочих нагрузках и микросервисных архитектурах, поэтому эти знания нужны DevOps инженеру. Кроме того, сейчас часто используются оркестраторы контейнеров, например Kubernetes. Конвейер CI/CD — это производственная линия в компании, которая разрабатывает ПО. Конвейер CI создает и тестирует код, чтобы убедиться, что он готов к интеграции в основную ветку, а конвейер CD – его расширение. Он помогает убедиться, что его можно развернуть. Чтобы понимать CI/CD, нужно разбираться в Git, моделях оветвления Git, разработки на основе магистрали, автоматизации и различных методов тестирования. Jenkins — наиболее широко используемый и мощный инструмент CI, который было бы полезно изучить. Кроме того есть Gitlab CI, который может стать даже более доступным инструментом для изучения конвейеров.

Как стать DevOps engineer

В чем сложность стать DevOps инженером? Можно часто услышать утверждение, что младших DevOps инженеров не существует. Не потому что нет вакансий, а потому что даже на старте карьеры DevOps инженерам нужно хорошо владеть описаными выше навыками. 

Более того рекрутеры утверждают, что мало просто знать, как все работает. Главная задача DevOps – настроить сотрудничество отделов. Потому что технические навыки не принесут компании большой пользы, если DevOps не может сплотить разработчиков и операторов, организовать их работу в соответствии с одними и теми же подходами, процессами, мыслительными процессами и, что самое важное, культурой постоянного совершенствования.

В результате, путь DevOps инженера – постепенно осваивать технологии и улучшать менеджерские навыки. 

Ниже оставляем список книг и ресурсов, которые могут помочь освоить эти навыки, по рекоммендации DevopsCube.

Лучше понять методологию DevOps поможет:

Освоить основы Linux:

Научиться кодить:

Как работают контейнеры:

Вывод

DevOps – это методология, при которой разработчики и операционные инженеры работают как одна команда, чтобы быстрее выпускать обновления и устранять неполадки в системе, если они возникли. Многие топовые команды, такие как как Amazon, Google и Netflix, благодаря DevOps начали выпускать обновления обновления несколько раз в день, тратя меньше времени на внесение изменений и устранение неполадок. 

Поделиться
Поделиться сюжетом
Источник материала
20-летняя модель завоевала титул «Мисс Украина 2024»: она представит страну на конкурсе «Мисс Мира»
Gloss
2024-12-06T16:30:50Z
В сети рассекретили имя мужчины, который должен был стать героем шоу «Холостяк-13» вместо Терена
Gloss
2024-11-29T17:16:39Z
Украинский Щедрик стал частью новогодней рекламы Chanel
Gloss
2024-11-22T16:13:24Z
Украинка стала режиссером нового клипа Леди Гаги
Gloss
2024-10-30T15:28:08Z
Рэпер Эминем впервые станет дедушкой: видео его реакции на новость
Gloss
2024-10-04T16:48:49Z
Linkin Park возвращается с новой вокалисткой спустя 7 лет после смерти фронтмена
Gloss
2024-09-06T15:22:47Z
Мадонна отметила свой 66-й день рождения в шляпе от украинского бренда
Gloss
2024-08-28T12:00:55Z
Анонимная певица Klavdia Petrivna впервые показала свое лицо в новом клипе с группой Tvorchi
Gloss
2024-08-23T15:52:15Z
Первая среди украинских звезд: Светлана Лобода спела для Грэмми
Gloss
2024-08-20T13:43:04Z
Balenciaga представила очень минималистичную обувь The Zero
Gloss
2024-12-04T18:36:54Z
Аукционный дом MacDougall;s проведет перед аукционную выставку 22-23 ноября в Лондоне
Ukraine Art News
2024-11-12T20:18:58Z
Самые смешные фотографии дикой природы: финалисты конкурса Nikon Comedy Wildlife Awards 2024
Gloss
2024-09-30T13:13:29Z
Надя Дорофеева презентовала клип на новую песню «Нитроглицерин»
Gloss
2024-08-07T15:40:50Z
Balenciaga выпустили самую дорогую в мире авоську за 7 тысяч долларов
Gloss
2024-07-17T16:30:55Z
В Steam стартовал фестиваль файтингов
Overclockers
2024-07-16T06:52:19Z
ЗНАКОМСТВО С ЛОНДОНСКОЙ ХУДОЖНИЦЕЙ ЛАРОЙ ДЖУЛИАН
Ukraine Art News
2024-06-08T15:42:56Z
Right 2 Fitness Unveils New Metabolic Ignition System for Women Over 30
Elle
2024-05-27T13:28:03Z
MONATIK выпустил новый клип на песню «А что?», режиссером которого стала Таню Муиньо
Gloss
2024-05-24T13:49:13Z
Состоялась премьера второго сезона сериала «Игра в кальмара»: где смотреть
Gloss
2024-12-26T13:51:55Z
Netflix показал тизер мультсериала про Астерикса и Обеликса – видео
Gloss
2024-12-16T16:33:46Z
Вышел первый полноценный трейлер фильма Minecraft
Gloss
2024-11-20T14:43:04Z
Украинский трейлер фильма «Аматор» с Рамі Малеком
KinoFilms
2024-11-18T09:46:00Z
Украинский трейлер мультфильма «Нико: за Северным сиянием»
KinoFilms
2024-11-18T09:24:35Z
Украинский трейлер эротического триллера «Хорошая плохая девочка» с Николь Кидман
KinoFilms
2024-10-29T16:12:34Z
Первый трейлер сериала «Дюна: Пророчество» и дата премьеры
Gloss
2024-10-28T13:10:35Z
Украинский трейлер хоррора «Ночные ужасы»
KinoFilms
2024-10-28T11:04:00Z
Больше информации об игре Atomfall в новом трейлере
Overclockers
2024-10-21T06:31:55Z
Стала известна судьба собаки, которую заметили на вершине 140-метровой пирамиды Египта
Gloss
2024-10-24T17:16:12Z
В Берлине открыли самые высокие качели в Европе – видео
Gloss
2024-10-14T15:15:49Z
Доступ к реке: 6 идей, как киевляне могут получить комфортные набережные
Хмарочос
2024-09-30T13:23:52Z
ТОП-8 экстремальных видов спорта
Men's Life
2024-08-19T07:57:54Z
В Китае открыли 24-километровый морской мост, который побил сразу 10 мировых рекордов
Gloss
2024-07-03T12:40:09Z
Самый большой в мире круизный лайнер Icon of the Seas отправился в свой первый рейс
Gloss
2024-01-29T17:51:45Z
Самые комфортные места для жизни уже в недалеком будущем
Men's Life
2024-01-24T08:33:40Z
Культурное значение шампанского в разных странах
Gloss
2023-11-29T10:12:53Z
Лас-Вегас: удивительная история города азарта, мафии и головной боли для архитектора
MC Today
2023-11-24T17:21:39Z
The glow within: Ellen Ingemarsdotter on balancing modeling, beauty and life
Elle
2024-12-26T15:24:51Z
Ученые обнаружили существ, интеллект которых превзошел человеческий
Gloss
2024-12-25T18:12:42Z
Мужчины с собаками более привлекательны для женщин
Men's Life
2024-12-25T15:19:13Z
From ballet to dinner shows: the creative evolution of Sebastiano Di Meo
Elle
2024-12-23T11:16:21Z
У ребенка популярной блогерши Саши Бо случилась остановка дыхания: как это произошло
Gloss
2024-12-20T15:36:47Z
Жим в Смите лежа
Men's Life
2024-12-20T09:01:12Z
МастерШеф 14 сезон. Випуск 15 від 07.12.2024
InfoHome
2024-12-19T10:36:53Z
Упражнения при простуде
Men's Life
2024-12-19T10:22:09Z
51-летняя певица Руслана впервые призналась, почему у нее нет детей
Gloss
2024-12-16T17:28:04Z
Всемирно известный блогер MrBeast построил город за $14 млн для своего шоу
Gloss
2024-12-17T14:11:03Z
OpenAI запустила нейросеть Sora, которая может создавать видео из текста
Gloss
2024-12-10T15:19:34Z
Купил – поюзал – утилизировал: новая экоинициатива оʼgо
Gloss
2024-12-06T14:19:05Z
The Septimius Awards: Jan-Willem Breure is breaking traditional rules of cinema
Elle
2024-11-22T06:42:45Z
Резиденцию Дональда Трампа охраняют роботы-собаки: что о них известно
Gloss
2024-11-18T14:40:27Z
Coca-Cola обновила свою культовую рождественскую рекламу с помощью ИИ
Gloss
2024-11-18T13:37:48Z
OpenAI добавляет в ChatGPT функцию веб-поиска
Overclockers
2024-11-01T07:52:06Z
AMD подготовила драйвер специально для Dragon Age: The Veilguard
Overclockers
2024-11-01T07:19:09Z
Louis Vuitton выпустили будку для собак за 66 тысяч долларов
Gloss
2024-10-31T17:13:49Z
Оливье по-особенному. Добавляем копеечный ингредиент!
InfoHome
2024-12-19T10:36:53Z
4 начинки для лаваша! Идеальная закуска на праздничный стол
InfoHome
2024-12-17T07:33:48Z
Салат Курочка под кайфом. Готовлю на любой праздник. Нравится всем!
InfoHome
2024-12-17T07:28:31Z
Две оригинальные закуски из самых простых продуктов
InfoHome
2024-12-14T07:39:34Z
Без этой закуски не обходится ни один праздничный стол. Закуска на Новый год
InfoHome
2024-12-12T07:37:07Z
Самый новогодний салат. Мимоза лимонная
InfoHome
2024-12-12T07:37:07Z
Мама научила! Теперь кто пробует просит рецепт! Съедается в один миг
InfoHome
2024-12-12T07:33:32Z
Торт Наполеон с необычным кремом
InfoHome
2024-12-07T08:06:46Z
2 яйца, стакан кефира и 3 стакана муки! В магазине таких не купить! Выпечка с сыром
InfoHome
2024-12-07T08:06:45Z