Здесь предлагаем список актуальных технологий, и разработок, которые точно пригодятся для DevOps-инженеров и специалистов в области проектирования надежности сайтов (SRE). Многие технологии что присутствуют в статье использует одни из лидеров рынка VPSVille (https://vpsville.ru). За основу взят материал https://medium.com/dev-genius/technologies-tools-to-watch-in-2021-a216dfc30f25
Управление облачными сервисами через Kubernetes CRD
Все три основных облачных провайдера (AWS / Azure / GCP) теперь поддерживают способ предоставления облачных сервисов и управления ими из Kubernetes с помощью Custom Resource Definition (CRD):
● AWS имеет контроллеры AWS для Kubernetes (ACK) в предварительной версии для разработчиков.
● Azure недавно запустила Оператор службы Azure (отказавшись от Open Service Broker для Azure).
● GCP имеет Config Connector в качестве дополнения к GKE.
Хотя инструменты Infrastructure-as-Code (IaC), такие как Terraform, Ansible и Puppet, по-прежнему широко используются для управления облачной инфраструктурой, поддержка облачных сервисов, управляемых Kubernetes, предполагает огромный сдвиг в сторону тех компаний, которые сделают Kubernetes центром своей облачной инфраструктуры.
Плюс в том, что разработчики теперь могут использовать те же инструменты для управления приложениями Kubernetes и другими облачными сервисами с помощью API Kubernetes, что потенциально упрощает рабочий процесс. Однако такая тесная связь Kubernetes и остальных ваших облачных рабочих нагрузок может быть нежелательной в зависимости от вашего текущего рабочего процесса инфраструктуры или опыта Kubernetes.
Вообще, облачные сервисы стали неотъемлемой частью работы любых сервисов. Снижение нагрузки на сервера с данными возможно благодаря использованию облачных хостингов. Один из таких сервисов - Storage VPS от компании Vpsville. Подробнее - https://vpsville.ru/services/cloudstorage/
Pulumi
Говоря об инструментах IaC, Pulumi недавно объявил о выделении 37,5 миллионов долларов для финансирования серии B, чтобы бросить вызов господству Terraform в этой сфере. В отличие от традиционных продуктов IaC, Pulumi решил дать разработчикам возможность писать код инфраструктуры на своих любимых языках (например, Go, Python, Javascript) вместо того, чтобы продвигать еще один предметно-ориентированный язык на основе JSON / YAML. Этот выбор позволяет Pulumi быть более гибким, чем Terraform, и позволяет разработчикам использовать существующие среды тестирования для проверки своей инфраструктуры. Однако, учитывая его зарождение, сообщество Pulumi довольно мало по сравнению с Terraform.
Terragrunt и TFSEC
В отличие от Pulumi, Terraform устраняет некоторые из своих недостатков через активное распостранение программных оболочек с открытым исходным кодом. Terragrunt - это тонкая оболочка вокруг Terraform, помогающая командам управлять большими проектами Terraform путем организации конфигураций в модули с поддержкой версий. Террагрунт внедряет передовой опыт, предложенный соучредителем Gruntwork Евгением Брикманом. Хотя Terragrunt является софтом с полностью открытым исходным кодом, Gruntwork недавно объявила о коммерческой поддержке предприятий, которым нужны более готовые к производству услуги. TFSEC - еще один инструмент с открытым исходным кодом, дополняющий проекты Terraform. Он использует статический анализ для выявления потенциальных угроз безопасности для кода инфраструктуры. По мере того, как безопасность все больше становится частью движения DevSecOps, предполагается, что такие инструменты, как tfsec, станут более важными в будущем.
Tekton
Рынок CI / CD насыщен устоявшимися инструментами, такими как Jenkins и Spinnaker, а также новыми облачными инструментами, такими как ArgoCD. Tekton - новый игрок в этой сфере, ориентированный на рабочие нагрузки Kubernetes. Tekton стартовал как часть проекта Knative и позже был передан в дар компании Continuous Delivery Foundation (CDF). Отличительным фактором для Tekton является то, что он определяет конвейеры через Kubernetes CRD. Это позволяет конвейерам наследовать собственные функции Kubernetes (например, откаты), а также интегрироваться с существующими инструментами, такими как Jenkins X или ArgoCD, для поддержки сложных сквозных конвейеров CI / CD.
Trivy
Сканирование содержимого на уязвимости становится важной частью любых конвейеров CI / CD. Как и на рынке CI / CD, существует множество инструментов с открытым исходным кодом и коммерческих инструментов, включая Docker Bench for Security, Clair, Cilium, Anchore Engine и Falco. Trivy - это инструмент от Aqua Security, который сканирует не только сам контейнер, но и базовые пакеты в коде. В сочетании с kube-bench Aqua Security компаниям будет проще встроить безопасность в рабочий процесс разработки приложений.
ShellCheck
Несмотря на огромные улучшения в области инструментов инфраструктуры, сценарии оболочки остаются в различных рабочих процессах для выполнения простых задач. ShellCheck - это инструмент статического анализа для поиска синтаксиса и типичных ошибок в сценариях оболочки. ShellCheck может запускаться прямо из сети Интернет, терминала или CI, а также в вашем любимом текстовом редакторе (например, Vim, Sublime, Atom, VS Code).
Pitest/Stryker
Pitest (Java) и Stryker (Javascript, C #, Scala) реализуют тестирование каждый на своем исходном языке. Такое тестирование измеряет качество кода, вводя в них ошибки, и проверяя, работает ли код даже с такой ошибкой. Тест должен завершиться неудачно, если в тестовом примере происходит сбой. Это дополнительное тестирование для обнаружения как непроверенного, так и недостаточно протестированного кода.
Litmus
Еще в 2011 году Netflix популяризировал разработку новой дисциплины под названием Инженерия Хаоса. Это принципиально новая на то время разработка, совместно с Chaos Monkey как часть набора инструментов Simian Army. В мире Kubernetes существует множество инструментов для разработки в этой области, таких как:
● Chaoskube.
● Kube-monkey.
● PowerfulSeal.
Также в этот список можно отнести и коммерческие платформы, таких как Gremlin. Но все же, здесь выделяем в первую очередь именно Litmus как наиболее зрелое инженерное решение в сфере Инженерии Хаоса.