【编者的话】随着Kubernetes的出现,容器化技术和服务网格等各种技术已经飞速发展,其中有些平台目前发展迅速,下列几种云原生技术是值得我们持续关注的。
Kubernetes是一个开源容器管理平台,它现在已经成为了云原生的中流砥柱。自从把它移交给Cloud Native Compute Foundation(云原生计算基金)后,该项目在业界上取得了史无前例的关注,目前没有一个公有云环境不提供Kubernetes托管服务。
Kubernetes正迅速成为现代容器化应用运行的管理平台。
随着Kubernetes的崛起,它带来了一个全新的生态系统的形成。目前有各种各样的ISV和SaaS提供商为构建云原生环境提供了构建工具。这个蓬勃的生态可以和当时微软和VMware在Windows和VSphere鼎盛时代相媲美。但他们***的区别就是云原生的产品大多数都是开源的,但在云上提供一个可用的商业版本。
下面是业界五个值得关注的开源项目,这些项目在Kubernetes的基础上进行大幅度扩展,使得其成为运行Web规模和企业应用的强大平台。
1. Istio
在Kubernetes之后,Istio是***的云原生技术。它就是一种服务网格,能够安全的连接一个应用程序之间的多个微服务。你也可以将它视为内部和外部的负载均衡器,具有策略驱动的防火墙,支持各种全面指标。开发者和使用者倾向于Istio的原因是因为它具有无侵入式的部署模式,而且任何Kubernetes的服务都能够在不需要改动代码和配置的情况下和Istio进行无缝连接。
Google最近宣布在GCP上管理Istio服务,除此之外IBM,Pivotal,Red Hat,Tigera和Weaveworkds都是支持这个项目的活跃贡献者。
Istio为ISV提供了向企业提供定制化解决方案和工具的***机会,这个项目有望成为建设云原生平台的项目,我希望每一个托管Kubernetes服务的平台都能够都能够托管Istio服务。
2. Prometheus
Prometheus是一个部署在Kubernetes上用于观察工作负载的云原生监控工具。它通过全面的指标和丰富的DashBoard填补了云原生世界中存在的重要空白。在Kubernetes之后,它是唯一从云原生计算基金中毕业的项目。Prometheus通过聚合可通过集中式DashBoard的指标来填充Istio的空白。从核心指标中可以反映Kubernetes集群中特殊应用的指标的健康状态,可以说它几乎可以监控到一切。它整合了像Grafana这样主流的数据可视化工具,Kubernetes接下来推出的有关于扩展和监控的功能都依赖于Prometheus,这使得它成为云原生平台建设中的不可或缺的一项。
3. Helm
如果说Kubernetes是新型的操作系统的话,Helm 就是应用程序安装程序。根据Debian安装包和Red Hat Linux RMPS设计,Helm通过执行单个命令,提供了更简洁和更强大的部署云原生工作负载能力。
Kubernetes应用暴露了大量的像deployments(部署),services(服务),ingress controllers(入口控制器),persistant volumes(持久化挂载目录)等更多的元素。Helm则通过提供统一安装工具,将云原生应用程序所有依赖关系聚合到称之为图表的部署单元中。
由于被CNCF进行管理,Helm项目的积极参与者目前有Bitnami,Google,Microsoft,CodeFresh和Ticketmaster。Helm正朝着成为真正意义上的云原生应用程序安装程序。
4. Spinnaker
云原生技术最值得关注之一的是软件的交付速度。Spinnaker是一个最初在Netflix上构建的开源项目,它实现了这一承诺。Spinnaker是一个版本管理工具,它是一种发布管理工具,可以为部署云原生应用程序提高速度。通过对比传统的IaaS环境(像Amazon EC2和当代运行在Kubernetes上的CaaS平台),无缝填补了传统虚拟机和容器之间的空白。其多云功能使得其成为跨不同云平台部署应用程序的理想平台。
Spinnaker可作为当前所有主流的云环境自托管平台,像Armory这样的初创公司目前正在提供SLA下的商业级,企业级Spinnaker。
5. KubeLess
事件驱动计算目前已成为当代应用程序结构不可或缺的一部分。功能即服务(FaaS)是当前无服务计算交付模型之一,它通过基于事件的调用来填补容器。现代的应用程序会被当做服务并打包成容器或者是作为方法运行在相同的环境下,随着Kubernetes成为云原生计算的***平台,运行功能时必须在容器中进行。
在云原生生态系统中,来自于Bitnami的Kubeless项目是当前***的无服务项目。它与AWS lambda的兼容性与对主流语言的支持使得它成为理想的选择。
CNCF目前还没有将无服务项目纳入其中,到目前为止最近接的是通过CloudEvent——用一种平常的方法来描述事件数据的规范,如果Kubeless成为CNCF中的一个项目的话,它将会十分有意思。
随着企业开始接受新的范例,一系列支撑当代云原生应用,云原生工作负载的工具和平台也不断快速的演进。
作者:Janakiram MSV是Janakiram & Associates的分析师,高级指导顾问和架构师。