如何实现云原生?这些云原生工具很关键!
K8S中文社区
60篇原创内容
公众号
云原生技术可帮助我们更快地交付软件产品,同时降低 IT 运营成本。本文介绍了如何实现云原生,以及一些可以使用的云原生项目。
作者:Kentaro Wakayama 翻译:Bach
校对:星空下的文仔、bot , 来源:K8sMeetup社区
了解和选择正确的云原生技术对于提高开发速度、减少开发和维护工具及基础架构至关重要。这篇文章描述了值得了解的云原生技术,并推荐了可以使用的云原生工具。
什么是云原生?
云原生关于速度和敏捷性,这是关于云的优势,更快地解决业务挑战并降低 IT 成本。CNCF 提供了一个官方的定义:
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
速度:快速开发并部署云原生应用程序,缩短产品上市时间。许多云使用云原生组件,以轻松托管应用程序。 可扩展性和可用性:处理 100 个客户的云原生应用程序可以无缝扩展到服务数百万个客户。资源可以做到始终适应需求,与传统的静态扩展资源相比,这样无疑节省了资金。此外,诸如自动故障转移和蓝绿部署的技术也已被植入云原生工具中。 质量:开发云原生应用程序时要牢记不可变性(immutability)和去耦性,这可以提高应用程序健壮性并易于维护,从而提升软件质量。由于云原生技术是开源的,并由 CNCF 支持,因此公司可以避免供应商锁定,并从社区的维护和开发工作中受益。
如何实现云原生
要迁移到云原生系统,我们需要一种类似以下的结构化方法:
纵向:选择一项不是关键的服务,然后将其启动,迁移到云原生技术上。 横向:专注于单个云原生功能,例如持续集成(CI)或持续交付(CD),并将其部署在所有现有服务中。
选择非关键任务系统可以降低风险,同时最大程度提高成功迁移的几率。
云原生工具
以下是云原生工具的列表,利用全套工具的公司通常拥有更快的速度、更少的阻力以及更低的开发和维护成本。
推荐技术:Node.js 替代技术:Kotlin,Golang
推荐技术:Gitlab CI/CD 替代技术:Github Actions
推荐技术:Docker 替代技术:Podman、LXD
推荐技术:Kubernetes 替代技术:Google Cloud Run
推荐技术:Terraform 替代技术:Pulumi
推荐技术:Vault 替代技术:Sealed Secrets
推荐技术:cert-manager 替代技术:Google 托管证书
诸如 gRPC、HTTP/2 和 Websockets 协议。 动态配置。 相互 TLS。 路由。 弹性原语(Resiliency primitive),例如速率限制和断路。 指标可见性。 推荐技术:Kong 替代技术:Ambassador
推荐技术:EFK 替代技术:Loki
正在进行多少次操作? 操作的结果(成功、失败或状态代码)是什么? Operation 需要多长时间? 重要资源(例如队列深度或线程池)的计数是多少?
推荐技术:Prometheus、Grafana 替代技术:Datadog
推荐技术:Prometheus Alertmanager 替代技术:Grafana Alerts
推荐技术:Jaeger 替代技术:Zipkin
推荐技术:Istio 替代技术:Consul
赞 (0)