Это 2021 год, и я чуть более месяца в моей третьей роли инженера -программиста и тренера по технологиям. До сих пор это был вихрь путешествия! Вот некоторые вещи, которые я хотел бы знать о практиках DevOps и облачных технологиях, когда я начал свою первую роль в технологиях.
Моя роль была не только в разработке программного обеспечения с полным стеком в C#, но также включала в себя практики DevOps и облачные технологии
Во время моей карьеры переключался на технологии, я думал, что практики DevOps и облачные технологии использовались исключительно инженерами DevOps и инженерами -облачными. Я недооценил, сколько моей роли связана с практикой DevOps и облако.
Когда я разговаривал с людьми в моей сети и особенно с теми, кто недавно начал свою первую роль в технологиях; Казалось, что была смешанная сумка. Некоторые люди вообще не участвовали в DevOps и Cloud, хотя они упомянули, что некоторые из их коллег были. У других, таких как я, была больше гибридной роли, и некоторые люди занимались DevOps и облаком каждый божий день!
Что такое DevOps в двух словах?
AWS заявляет: «DevOps — это комбинация … философии, практики и инструменты, которые увеличивают способность организации предоставлять приложения и услуги…». Инфраструктура и процесс, которые находятся за программным обеспечением, обеспечивают более плавный опыт для строительного кода, его тестирования, выпуска и мониторинга его.
DevOps и Cloud есть, чтобы помочь разработчикам
Некоторые инженеры -программисты скажут, что DevOps и Cloud не являются частью их роли, так почему они должны беспокоиться; У них есть момент там. В последнее время это массовый мир, например, предложения продуктов, такие как AWS Amplify, помогают тем, кто специализируется на переднем и API, быстро создать мобильные/веб-приложения. Тем не менее, есть ценность в изучении некоторых ключевых понятий о том, как DevOps и Cloud полезны.
В своей первой роли в технологии я хотел изучить некоторые основы DevOps и облака, которые поддержали бы меня в моей роли инженера по программному обеспечению C#.
В то время в моей команде одним из проектов, которым нам было поручено, было переписывать устаревшее приложение Excel в .net Core 3.1 C# веб -приложение (на момент написания этого поста, это .NET 5). Мне очень понравилось, как моя команда работала вместе над этим, всеми разработчиками/тестерами, бизнес -аналитиками, нашего владельца продукта и Scrum Master Mobbed по этому поводу.
В то время что -то появилось в моей голове: «Почему мы не можем просто создать веб -приложение, а затем просто развернуть его для производства для пользователей, легко? Я могу просто щелкнуть на портале Azure и просто вручную сделать свои ресурсы туда, а затем вручную развернуть ».
Что ж, когда мы начали программирование MOB в процессе облачной инфраструктуры, я понял, что есть еще кое -что, чтобы просто «заставить что -то работать».
Автоматизированная непрерывная интеграция и непрерывные развертывания с использованием Azure Repos и Pipelines
Одной из вещей, которые застряли со мной, был CI/CD (непрерывная интеграция/непрерывное развертывание). Согласно AWS DevOps блог , «Неотъемлемая часть DevOps — это применение культуры непрерывной интеграции и непрерывной доставки/развертывания (CI/CD), где коммит или изменение кода проходит через различные автоматизированные сценические ворота, от создания и тестирования до развертывания приложений, От разработки до производственной среды «.
Я получил оценку этого, узнав о GIT, репозитории GIT на Azure Repo, управляя филиалами и создавая трубопроводы для создания и развертывания нашего решения C#.
Во время моего учебного процесса у меня был пик о том, как разные команды использовали Azure Tipvines. Сначала я был жестким кодированием, и это сработало, но потом я все время копировал и вставляю. Затем я понял, что параметризация была полезна, чтобы убедиться, что я могу предоставить разные значения для одинаковых переменных трубопровода. Это помогло мне как разработчику и другим разработчикам в моей команде, потому что это означало, что мы могли бы повторить ту же настройку в средах разработки, средах тестирования, предварительной продукции и производственной среды трубопровода. Мы могли бы настроить вещи, которые будут переключаться на «и« выключить »через код.
Разделение проблем было важным здесь. Мы решили пойти с инфраструктурным трубопроводом и приложением. Если в веб -приложении произошли изменения в филиале, CI/CD автоматически обнаружит это и запустит сборку и развернут в соответствующих средах, используя соответствующие трубопроводы. Тестовые люксы также будут работать автоматически. После того, как запрос на вытягивание (PR) для филиала будет утвержден и объединен, трубопровод CI/CD будет построить и развернуть в среде. Нет больше трудных ручных развертываний, с которыми нам приходилось иметь дело для первоначального приложения Excel! Большой!
Инфраструктура как код
Во время моей первой роли я понял, что щелчок по настройкам на портале Azure для создания и настройки ресурсов был полезным для меня, но не полезно для других. Это не было повторяемо. Мы должны были думать как команда, как мы можем определить инфраструктуру и настроить ее, используя лучший подход. Именно здесь шаблоны Azure Manager (ARM) пригодились. Это позволило определить, какую инфраструктуру мы хотели сделать, как мы хотели сделать это и настроить ее.
Шаблоны ARM были полезны, поскольку они также могли контролироваться версией через GIT; Так же, как мы будем код управления версией. Была также полезные расширения в Visual Studio для структурирования и проверки этих шаблонов.
Самое главное, что он позволил повторяемому и тестируемому процессу для нашей инфраструктуры.
Регистрация и мониторинг
Так зачем нам журналирование и мониторинг? Позвольте мне выразить это так, когда вы выпустите новую функцию для вашего продукта, это только начало. Точно так же, как самолет имеет набор телеметрии для записи чтений из инструментов; Это та же концепция для программного обеспечения для обеспечения того, чтобы все работало так, как и должно. Попробуйте подумать, где ведение журнала и мониторинг имеет смысл для вас.
Мы использовали монитор Azure, чтобы добавить наблюдаемость в наши приложения, инфраструктуру и сеть.
Последние мысли
Это только поверхность того, что DevOps и Cloud Technologies могут предложить разработчикам, конечно, есть специалисты, которые немного глубже входят в большее количество концепций, которые я здесь рассмотрел. Если вы работаете в технологиях, есть некоторая выгода для изучения некоторых основах об инфраструктуре и процессе, которые находятся за программным обеспечением, чтобы обеспечить более плавный опыт для строительного кодекса, его тестирования, выпуска и мониторинга его.
Оригинал: «https://dev.to/thekimmykola/things-i-wished-i-knew-about-devops-practices-and-cloud-technologies-when-i-started-my-first-role-in-tech-160o»