Технологии И Инструменты, На Которые Стоит Обратить Внимание В 2021 Году

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



Технологии и инструменты, на которые стоит обратить внимание в 2021 году



Управление облачными сервисами с помощью Kubernetes CRD

Все три ведущих поставщика облачных услуг (AWS, Azure, GCP) теперь поддерживают предоставление облачных сервисов и управление ими на основе определений пользовательских ресурсов Kubernetes (CRD).

У AWS есть инструмент Контроллеры AWS для Kubernetes (ACK) (в настоящее время в статусе предварительной версии для разработчиков).

Azure недавно добавила инструмент Оператор службы Azure (Microsoft больше не поддерживает Открытый сервисный брокер для Azure ).

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

Это, например, Terraform, Ansible и Puppet. Но поддержка облачных систем, управляемых Kubernetes, сигнализирует об огромном сдвиге среди организаций в сторону рассмотрения Kubernetes как центрального узла своей облачной инфраструктуры.

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

Это может привести к упрощению рабочих процессов.

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

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

Пулуми

Если продолжить разговор об инструментах IaC, то можно сказать, что компания Пулуми недавно объявил о наборе сотрудников инвестиции в размере $37,5 млн в рамках финансирования серии B. Благодаря этому Pulumi собирается вытеснить Terraform — ведущую на данный момент платформу для управления облачными инфраструктурами.

Создатели Pulumi решили позволить разработчикам писать инфраструктурный код на их любимых языках программирования (таких как Go, Python и JavaScript), а не предлагать им еще один специальный язык на основе JSON или YAML. Pulumi отличается от традиционных платформ IaC. Такой подход делает платформу Pulumi более гибкой, чем Terraform, позволяя разработчикам использовать существующие среды тестирования для тестирования своей инфраструктуры.

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

Террагрунт и TFSEC

В области применения Terraform (в отличие от Pulumi) некоторые недостатки устранены сообществом открытого исходного кода.

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

Террагрунт реализует некоторые «лучшие практики», основы которых заложил сооснователь грубая работа Евгений Брикман.

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

Еще одно дополнение с открытым исходным кодом для проектов Terraform: ТФСЕК .

Этот инструмент использует инструменты статического анализа кода для поиска потенциальных уязвимостей в коде инфраструктуры.

Подобные инструменты со временем будут становиться все более важными.

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



Тектон

Рынок CI/CD насыщен качественными инструментами, такими как Jenkins и Spinnaker. На нем также появляются проекты, изначально предназначенные для облачных инфраструктур, такие как Argo CD. В этой сфере появился один новый проект - Тектон , предназначенный для рабочих нагрузок Kubernetes. Этот проект начался в рамках проекта Knative, после чего был передан в фонд Continuous Delivery Foundation (CDF).

Tekton отличается от аналогичных разработок тем, что позволяет описывать цепочки CI/CD с помощью CRD Kubernetes. Это позволяет цепочкам воспользоваться стандартными возможностями Kubernetes (например, откатами к предыдущим версиям проекта) и интегрироваться с существующими инструментами, такими как Jenkins X или Argo CD. Это позволяет поддерживать сложные цепочки CI/CD, охватывающие весь жизненный цикл продукта.



Триви

Сканирование контейнеров на наличие уязвимостей становится важной частью любой цепочки CI/CD. Здесь, как и в среде традиционных CI/CD-решений, существует множество инструментов с открытым исходным кодом и коммерческих инструментов.

Среди них - Docker Bench для безопасности , Клэр , ресничка , Якорный двигатель , Фалько .

Триви — инструмент от Aqua Security, который не только сканирует контейнеры, но и проверяет пакеты, используемые в коде.

Если вы объедините Trivy и Кубе-скамейка (Aqua Security также разрабатывает этот проект), вы сможете упростить интеграцию средств безопасности в процесс разработки программных проектов.



ШеллЧек

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

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

Этот инструмент можно использовать, зайдя на специальный сайт, его можно вызвать из командной строки и включить в цепочки CI/CD. Его также можно интегрировать в текстовый редактор (например, Vim, Sublime, Atom, VS Code).



Питест и Страйкер

Инструменты Питест (Ява) и Страйкер (JavaScript, C#, Scala) реализуют механизмы мутационного тестирования кода, написанного на поддерживаемых ими языках.

Этот тип тестирования проверяет качество тестов путем внесения изменений в код (по сути, ошибок) и проверки эффективности тестов.

Хороший модульный тест потерпит неудачу, если код будет изменен.

Мутационное тестирование дополняет традиционные тесты и улучшает покрытие кода тестами за счет обнаружения непроверенного и плохо протестированного кода.



лакмусовая бумажка

В 2011 году Netflix популяризировал идею «инженерии хаоса», представив Chaos Monkey, инструмент, который входил в набор инструментов Simian Army. В мире Kubernetes доступно множество подобных инструментов.

Это, например, файлы с открытым исходным кодом.

Чаоскуб , кубе-обезьяна И Мощная печать , а также коммерческие - вроде Гремлин .

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

Litmus — это облегченный оператор Kubernetes, состоящий из ChaosEngine, ChaosExperiment и ChaosResult. С помощью Litmus вы можете проводить эксперименты, точно настраивая их параметры.

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

Результаты тестов выводятся с помощью CRD ChaosResult, система не накладывает на пользователя необходимости оценивать последствия тестов обычными средствами.



Полученные результаты

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

Думаю, будет интересно посмотреть на эти технологии в 2021 году.

Какие инструменты и технологии вы бы добавили к тем, которые обсуждает автор статьи?

Технологии и инструменты, на которые стоит обратить внимание в 2021 году



Технологии и инструменты, на которые стоит обратить внимание в 2021 году

Теги: #Карьера в IT-индустрии #программирование #ruvds_translation #разработка #DevOps

Вместе с данным постом часто просматривают: