Усильте свою ИТ-карьеру, став разработчиком инфраструктуры

Опубликовано: 2 Марта, 2023
Усильте свою ИТ-карьеру, став разработчиком инфраструктуры

Мы часто говорим о карьере в сфере ИТ здесь, на TechGenix. Почему? Потому что мы, ИТ-специалисты, ИТ-менеджеры и разработчики, живем в быстро меняющемся мире, где все меняется в нашей профессии. Поэтому мы делимся советами по сертификации и продажам технологий, а также правилам успеха и фокусируемся на новых областях возможностей, таких как большие данные и блокчейн, искусственный интеллект и Интернет вещей. Таким образом, сегодня мы рассмотрим еще один потенциально плодотворный путь карьеры в сфере ИТ, который особенно важен для вас, если вы ИТ-специалист, живущий и работающий в окопах повседневного администрирования бизнес или организация: разработчик инфраструктуры. Причина, по которой эта статья так важна, заключается в том, что — если вы еще не заметили — ваша работа быстро меняется!

Работа инженера-разработчика инфраструктуры раньше заключалась в установке оборудования и программного обеспечения и управлении ими в вашей сети. Однако теперь, благодаря облаку, многие из повседневных задач, над которыми вы привыкли бороться и потеть, можно выполнить с помощью нескольких щелчков мыши или пары строк кода. Как можно оседлать волну этих изменений, чтобы ваша ИТ-карьера не утонула и не утонула? Майк Пфайффер, технический архитектор, писатель и спикер из Феникса, штат Аризона, знает некоторые ответы на этот вопрос, и я попросил его поделиться некоторыми из этих предложений ниже, чтобы вы могли продолжать платить эти платежи по ипотеке. Пару лет назад я брал у Майка интервью на TechGenix о направлениях обучения ИТ, и он согласился рассказать нам об этой новой теме, поделившись своими мыслями для наших читателей. Итак, давайте послушаем его сейчас и посмотрим, станет ли разработчик инфраструктуры частью вашего будущего.

Меняющийся ландшафт

Изображение 336
Общедоступные и частные облачные платформы изменили ИТ-ландшафт. Благодаря виртуализации и облачным вычислениям стало проще, чем когда-либо, создать полнофункциональную среду приложений одним нажатием кнопки или вызовом API. Мир развертывания и администрирования серверов сильно отличается от того, что был десять лет назад, и никогда не будет прежним.

Это отличная новость, потому что теперь предприятия могут двигаться намного быстрее, чем когда-либо прежде. И реальность такова, что многим из них приходится это делать, чтобы не отставать от своих конкурентов.

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

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

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

Вот четыре области, на которых следует сосредоточиться, чтобы начать развивать навыки развития инфраструктуры.

Инфраструктура как код

Изображение 344
Представьте, что вы можете нажать кнопку в веб-консоли, и, как по волшебству, у вас есть полностью построенная серверная среда с контроллерами домена, SQL-серверами и новой фермой SharePoint, готовой обслуживать пользователей.

Звучит надуманно, но это то, что вы можете сделать уже сегодня, используя шаблон Azure Resource Manager (ARM).

Вот как это работает. Вся инфраструктура, необходимая для питания серверов, объявлена в текстовом файле. Технически это шаблон JSON, что означает, что это просто набор пар ключ/значение. Думайте об этом как о списке ресурсов с их необходимыми настройками. Например, в файле есть блоки кода, описывающие виртуальную сеть, хранилище, серверы, а заодно и все их подробные настройки.

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

Эти шаблоны можно развертывать интерактивно в веб-браузере или с помощью вызова API в рамках автоматизированного процесса.

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

Представьте, какие возможности это открывает, когда вы хотите что-то протестировать.

Ваш первый шаг к тому, чтобы стать разработчиком инфраструктуры, — начать изучать основы инфраструктуры как кода. Если вы работаете с Azure, начните изучать шаблоны ARM. Попробуйте создать что-то простое, например, автономный сервер.

Управление конфигурацией

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

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

После запуска серверов для начальной загрузки приложений используется решение по управлению конфигурацией. В данном случае это технология PowerShell DSC.

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

Как разработчику инфраструктуры вам потребуются навыки работы с решением для управления конфигурацией, таким как PowerShell DSC. Хорошая новость заключается в том, что как только вы выучите один, вам будет легче освоить другой. Например, DSC реализует множество шаблонов, используемых в других инструментах управления конфигурацией, таких как Chef, Puppet и Ansible, и это лишь некоторые из них.

Инфраструктура в виде шаблонов кода вместе со сценариями запуска или сценариями управления конфигурацией может предоставить сквозное автоматизированное решение для приложения и всех его зависимостей.

Управление версиями

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

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

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

Это именно то, что должны сделать и разработчики инфраструктуры. Все ваши шаблоны инфраструктуры и сценарии управления конфигурацией должны находиться в репозитории с контролем версий. Системы контроля версий на основе Git, такие как GitHub, широко используются.

Как разработчик инфраструктуры, вы захотите узнать, как использовать Git, инструмент контроля версий. Вы можете использовать его для хранения своего кода в репозитории на GitHub, который является просто платформой для размещения репозиториев контроля версий на основе git.

Непрерывная интеграция и непрерывная доставка (CI/CD)

Изображение 346
Когда разработчик программного обеспечения вносит небольшое изменение кода в репозиторий контроля версий, это изменение часто тестируется. Например, если это приложение C#, автоматизированный процесс может взять код и убедиться, что он компилируется без ошибок. Он также может запускать другие тесты, чтобы убедиться, что код написан правильно. Этот процесс известен как непрерывная интеграция (CI).

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

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

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

Если все в порядке, команда знает, что у них есть заведомо исправная версия кода, готовая к работе, что является основой для непрерывной доставки (CD).

Как разработчик инфраструктуры вы захотите иметь возможность работать с разработчиками программного обеспечения и понимать их мир. Для этого изучите основы рабочего процесса конвейера выпуска CI/CD. Это просто цепочка событий, в результате которой код, зафиксированный в системе контроля версий, полностью проверяется и считается готовым к использованию в рабочей среде. Разработчики инфраструктуры, ориентированные на Azure, захотят изучить недавно анонсированную платформу Azure DevOps.

Разработчик инфраструктуры: путь вперед

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