谷歌、IBM 与 Lyft 三方已经共同公布了 Istio 项目的首次公开发行版。Istio 是一个开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。我们目前的发行版主要面向 Kubernetes 环境 ; 当然,在后续的升级当中,我们还将逐步实现对虚拟机以及 Cloud Foundry 等其它环境的支持能力。

Istio 项目能够为微服务架构提供流量管理机制,同时亦为其它增值功能(包括安全性、监控、路由、连接管理与策略等)创造了基础。这款软件利用久经考验的 Lyft Envoy 代理进行构建,可在无需对应用程序代码作出任何发动的前提下实现可视性与控制能力。Istio 项目是一款强大的工具,可帮助 CTO/CIO 们立足企业内部实施整体性安全、政策与合规性要求。

项目背景

编写具备高可靠性、松散耦合的微服务式生产级应用程序往往存在一定程度的挑战。随着整体式应用程序被拆分为微服务,软件团队必须面临并应对在分布式系统当中实现服务集成所带来的诸多难题:其必须考虑服务发现、负载均衡、容错性、端到端监控、面向功能实验的动态路由以及最为重要的两大前提——合规性与安全性。

目前行业中处理上述挑战的方法多种多样,往往由各类库、脚本乃至 Stack Overflow 片段拼凑而成,这直接导致其包含大量不同编程语言与运行时,功能可观察性差且往往会令最终安全性受到负面影响。

其中一类解决方案在于立足常规 RPC 库(例如 rRPC)实施标准化调整,但其全面采用会给企业带来高昂成本,同时亦会迫使其放弃部分根本无法变更的旧有应用程序。很明显,运营人员需要一套灵活的工具包,确保其微服务始终具备安全性、兼容性、可追踪性以及高可用性 ; 与此同时,开发人员则需要能够在生产环境中尝试不同功能或者部署金丝雀版本(canary releases),并保证其不会影响到整体系统。

解决方案:服务网格

想象一下,如果我们能够以透明化方式在服务与网络之间插入一个基础设施层,借此为运营人员提供必要的控制能力,同时帮助开发人员不必在其代码当中引入分布式系统带来的专用解决方案,那么前面提到的诸多挑战将迎刃而解。正如微服务架构能够帮助各功能团队实现彼此解耦,服务网格则能够帮助运营人员从应用程序功能开发与发布流程当中解耦出来。Istio 项目即因此而生,它能够以系统化方式将代理机制接入至网络路径当中,从而将不同微服务转化为综合性服务网格。

谷歌、IBM 与 Lyft 三方联手开发出的 Istio 项目基于我们为内部及企业客户构建及运营大规模微服务架构中积累起的丰富经验,旨在为微服务架构的开发与维护工作提供可靠基础。谷歌与 IBM 双方长久以来一直在在内部应用程序中采用此类大规模微服务架构,同时亦具备丰富的高敏感度 / 监管环境企业客户服务经验。而 Lyft 则开发出 Envoy 以解决其内部可操作性挑战。Lyft 在经过一年的成功使用之后,决定将 Envoy 推向开源,其能够管理超过 100 项服务、跨越上万套虚拟机且每秒可处理 200 万条请求。

Istio 的优势

加入我们共同开启新的旅程

Istio 属于完全开源之项目。今天,我们发布了其 0.1 版本,适用于 Kubernetes 集群。未来我们计划每三个月进行一次主要版本更新,其中包括支持其它环境。我们的目标是帮助开发人员与运营人员以敏捷性、底层网络全面可视性以及立足一切环境的统一化控制与安全保障能力为前提,发布并运营属于您自己的微服务体系。我们期待着与您在 Istio 社区中并肩协作,并以合作伙伴的角度共同实现各项发展目标。如果您有兴趣,请以下链接查看我们的发展路线图。

稿源:聊聊架构公众号,作者:Istio 团队,编辑:Alice

>>>【全民狂欢,评论有礼】5月15日-31日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情



新闻来源:Google、IBM 和 Lyft 开源其大型微服务系统管理工具 Istio