Skip to content

Technologies & Tools to Watch in 2021

Technologies & Tools to Watch in 2021

本文分享了幾個 2021 值得 DevOps Engineers 與 SREs 關注的工具

  1. Managing Cloud Services via Kubernetes CRDs

    現在在 K8s 上都能使用 custom resource definitions (CRDs) 啟用與管理 AWS, Azure 與 GCP 上的服務。AWS 使用 AWS Controllers for Kubernetes (ACK);Azure 使用 Azure Service Operator (for Kubernetes);GCP 使用 Config Connector。好處是無論是 K8s 或 cloud services 都能用 K8s 的 API 操作,但缺點就是跟 K8s 有太深的耦合。

  2. Pulumi

Pulumi 是一個 IaC 的工具,與一般常見用 JSON 或 YAML 為基礎的 IaC 不同,他能夠直接使用 Go, Python, Javascript 來做 IaC,能夠帶來更高的彈性,並可以使用原本語言就有的測試框架進行測試。

  1. Terragrunt & TFSEC

Terragrunt 將 Terraform 包裝起來,提供更多功能便於管理大型的 Terraform 專案,並支援版本的管理方式。TFSEC 提供掃描 Terraform 專案中 IaC 可能的安全問題。

  1. Tekton

Tekton 是 Cloud Native 的 CI/CD 工具,專注在 K8s 的 workloads。Pipeline 都是透過 CRDs 定義,因此能繼承 K8s 一些良好的特性,如 rollbacks,也能跟 JenkinsX 或 ArgoCD 有良好的介接。

  1. Trivy

Trivy 能夠掃描 Container 與 OS 安裝的 Package 是否有安全漏洞,可以很輕易地串接在 CI 流程中。

  1. ShellCheck

shellcheck 可以檢查 Shell 中常見的錯誤,有提供 web 版、CLI,甚至還有各種編輯器的 plugin。

  1. Pitest/Stryker

Pitest (Java) 與 Stryker (Javascript, C#, Scala) 都是 Mutation Test 的工具。Mutation Test 的假設是如果程式碼有變動,一個好的單元測試應該要因為這個變動而失敗,因此這兩個工具都會自動加入變動到程式中,藉此驗證單元測試或測試案例是否是好的測試。

  1. Litmus

Litmus 是一個 chaos engineering tool,輕量且易於使用,有良好的實驗設計功能而非單純的隨意刪除 Pod,另外也直接提供了 ChaosResult CRD 直接查看結果。

Reference:

  1. 變異測試 (Mutation Test) — 一種提高測試和代碼質量的 ”新” 方法速記

Comments