初创公司福利:谷歌、IBM和Lyft共同推出微服务管理平台Istio
谷歌,IBM,及Lyft昨日正式推出其开源服务Istio。这项开源项目将给开发者提供一个统一的平台,用以有效管理监测微服务(microservices)的运行情况,并保障、提高其之间的连接性、安全性。
微服务,是一项在云中部署应用和服务的新技术。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。简而言之,微服务考虑的是如何围绕着业务领域组件创建应用,并对这些应用独立地进行开发、管理和加速,而微服务架构的主旨就是高度自治和高度隔离。
和传统组件相比,微服务架构最大的优点在于它可以独立部署。此外,它在组件与组件之间定义了清晰的、语言无关、平台无关的规范接口,耦合度低,灵活性非常高。对于互联网行业及有相关需求的初创公司来说,微服务的开发简单直接,重复率低,且功能都在本地,没有分布式的管理开销和调用开销,便于集中管理,很适合业务的初期发展。
然而,微服务的架构是基于分布式系统而建的,而分布式系统运作时需跨进程、跨网络的调用,受网络延迟和带宽的影响很大。它的缺点还包括:开发效率低,所有开发的代码都要在同一个项目里改,递交代码相互等待,代码冲突不断;代码维护难,代码功能耦合在一起,经验不足的人难以操作;部署不灵活,构建时间长,任何小修改必须重新构建整个项目,费时费力;稳定性不高,一个小问题都可能导致整个应用无法运作;扩展性不够,无法满足高并发情况下的业务需求等。
Google,IBM和Lyft的在联合声明中解释,Istio服务“不需要对实际应用程序进行任何修改,也不依赖于像gRPC这样常见的RPC(远程过程调用)库,可直接使用代理来拦截微服务器之间的所有通信。”
Istio团队还表示,该平台可允许政策驱动的操作执行,将操作团队与功能开发脱离,从而让开发者在无需大量更改代码的情况下,改进项目的安全性。
据悉,Istio平台是谷歌和IBM之间的一个协作开源项目,但支撑软件的基础来自Uber的竞争对手,Lyft公司(最近它刚和谷歌旗下的自动驾驶部门Waymo合作,研发自动驾驶技术)的Envoy代理,及其内置的服务发现(Service DIScovery)和负载均衡工具。它们能为特定的微服务添加安全性、可见性和合规性等功能,以解决传统应用程序分解为一组微服务时而出现的各种问题。Istio的推出,必将吸引到那些正在因微服务难以管理而头疼的用户。
据Gartner数据,全球云市场将在2019年达到3120亿。微服务作为一种中间组件(middleware),是云计算产品体系中的一项重要组成部分。钛媒体发现,阿里巴巴也把其微服务架构(Alibaba's microservice structure),作为阿里云的核心竞争力之一加以宣传。
就如阿里云总裁胡晓明接受钛媒体采访时说的(《独家专访阿里云胡晓明:产业互联网,什么为王?》),“现在已经没有企业还在思考上不上云的问题,大家的焦虑已经转移到“在云的时代,我可以做什么?我的机会在哪里?我会不会被替代?”
可以预想,未来的微服务市场,还有很多机会可挖。