Рубрики
Uncategorized

Совет инженеру DevOps на ранней стадии

На этой неделе мне задали действительно фундаментальный вопрос, и я полностью его бросил. Я не понял его … Tagged с DevOps, Career, Security, DevSecops.

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

Какой совет вы бы дали DevOps на ранней стадии карьеры?

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

Подумайте о своем коде в его контексте

Если вы пришли из опыта разработчика, как и я, вы можете согласиться с тем, что мы часто чувствуем себя как дома на границах нашего IDE, Shell и Repos и зафиксируем детали, такие как: мой код легко читать? Могу ли я написать это как одну строчку? Моя программа безопасна? И, конечно, проходят мои тесты? — Это важные соображения, но недостаточно. Дни выброса нашего кода через стену давно прошли, и мышление с переключением безопасности здесь, чтобы остаться. Тактическое мышление (и даже стратегическое) относительно нашего кода необходимо. Все это звучит хорошо, верно? Но что на самом деле означает «думать о нашем коде в контексте»? Позволь мне объяснить…

Защита в глубине

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

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

Каков контекст вашего кода?

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

Поэтому нам нужно задать совершенно новый набор вопросов, если мы думаем даже о простой функции Lambda или микросервисе. Каковы их входы , это API? Вы лучше дезинфицируете эту полезную нагрузку. Какие библиотеки NPM вы используете? Вы, вероятно, хотите запустить сканер зависимостей до этого фиксации, покрытие кода приятно Но помнили ли вы установление MFA в своей учетной записи GitHub? Вы понимаете идею, не только о написании чистого и эффективного кода.

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

Я пытаюсь задать себе несколько ключевых вопросов с самого начала. Где будет работать этот код? Внутри контейнера Docker? Тогда меньше уязвимостей можно использовать с помощью Основное изображение рассеяния И мы ничего не теряем из использования их с помощью многоэтапной сборки. Наш код частью функции лямбда? Применить Наименьшая привилегия принцип Используя свой шаблон облачной информации ¹ .

Вот еще один, Где этот код будет жить и поддерживаться? Какой реестр контейнеров вы используете и что гарантирует ваше изображение, не будет подделано. Функции Lambda чрезвычайно просты в развертывании, это также означает, что ошибка может быть легко введена в производство, но есть надежда, если ваша установка включает в себя синие/зеленые развертывания, время выпекания и тревоги Анкет

Продвигаясь дальше, С чем ваш код взаимодействует? Неправильная служба Kubernetes может разоблачить наш кластер или устаревший пакет в веб -функции Python может иметь серьезные последствия. Их легко исправить, но не так легко поддерживать защиту. Это вопросы, которые описывают контекст.

По мере того, как мы движемся к более простым способам развертывания сложной инфраструктуры (см. Helm Hards, AWS CDK, без серверных трубопроводов, GITOPS, облачные нативные интеграции и полностью управляемые услуги), мы склонны полагать, что можем рассчитывать на наш облачный провайдер или на последнем инструменте сканирования, но но новейший инструмент сканирования, но но новейший инструмент сканирования. В конце дня ничто не может заменить более целостное представление об этой строке кода.

Спасибо за чтение! Я хотел бы услышать ваши мысли.

Оригинал: «https://dev.to/cdvel/advice-to-an-early-career-devops-5g5»