`

2018年5大微服务发展趋势

阅读更多

2017年对于DevOps来说是非常重要的一年,DevOps生态系统的用户数量有了长足的增长,CNCF项目也在这一年横空出世。在接下来的一年,我们期望出现更多的创新和市场变化。以下是我们对2018年微服务发展趋势的看法,包括服务网格 (service mesh)、事件驱动架构、原生容器安全、GraphQL和混沌工程。

1.服务网格白热化

服务网格是一个专注于服务间通信的基础设施层,也是目前最受关注的与云原生有关的话题。随着容器的普及,服务拓扑变得越来越动态化,这对网络功能提出了更多的要求。服务网格通过服务发现、路由、负载均衡、健康检测和可观察性来管理流量,简化容器与生俱来的复杂性。

随着HAProxy、traefik和NGINX逐步把自己定位成数据平面,服务网格也变得越来越流行。尽管服务网格还没有得到大规模部署,但确实有些企业已经在生产环境中运行服务网格。另外,服务网格不仅可以用在微服务或Kubernetes环境中,也可以被用在VM和无服务器架构的环境中。例如,美国国家生物技术信息中心虽然没有使用容器,但他们使用了Linkerd。

服务网格还可以用在混沌工程中。服务网格可以给系统注入延迟和故障,这样就不需要在每台主机上安装后台进程。

Istio和Buoyant的Linkerd是目前最为流行的服务网格框架。另外,Buoyant在去年12月份开源了用于Kubernetes的服务网格框架Conduit V0.1。

 

2. 事件驱动架构的崛起

随着业务场景的不断变化,我们已经看到了基于推送或事件的架构正在成为一种趋势。服务向订阅事件的观察者容器发送事件,容器异步做出响应,事件发送者可能对此一无所知。与请求响应式架构不同的是,在基于事件的系统架构中,发起事件的容器并不依赖下游的容器,它们的处理过程和加载的事务与下游容器的可用性或完成情况无关。这种架构的另一个好处是,开发者可以更加独立地设计各自的服务。

在容器环境中使用基于事件的架构时,功能即服务(FaaS)可以助他们一臂之力。在FaaS架构中,功能以文本的形式保存在数据库中,然后由事件来触发它们。在调用一个功能时,API控制器会收到一个消息,并将它通过负载均衡器发送到消息总线,调用者容器负责处理队列中的消息。消息处理完毕后,结果被保存在数据库中,并发送给用户,而功能暂时退役,等待下一次触发。

FaaS有两大好处。首先,缩短了服务开发时间,因为除了源代码,不需要创建其他任何东西。其次,降低了开销,因为功能的管理和伸缩通常是由FaaS平台(比如AWS Lambda)来完成的。当然,采用FaaS本身也存在一些挑战。FaaS要求解耦每一个服务,那么就会存在大量的服务需要发现、管理、编配和监控。因为缺乏对服务依赖链的全盘了解,FaaS系统难以调试,而且可能会出现无限循环依赖问题。

 

 

在目前看来,FaaS并不适用于某些场景,比如那些需要较长处理时间、需要往内存里加载大量数据或需要稳定性能的场景。开发者主要使用FaaS来运行后台作业和处理临时事件,不过我们相信,随着存储层速度的加快和平台性能的提升,FaaS的应用场景会越来越多。

2017年秋天,CNCF对550名用户进行了问卷调查,其中31%的人正在使用无服务器架构技术,28%的人打算在未来18个月使用无服务器架构技术。而在使用无服务器架构技术的169人当中,有77%使用的是AWS Lambda。虽说Lambda或许是领先的无服务器架构平台,但我们相信边缘计算仍然有机会。边缘计算将在物联网和AR/VR领域大展拳脚。

3. 安全模型的变化

因为对内核访问方面的限制,部署在容器中的应用程序相对安全。在VM环境中,虚拟设备驱动器是唯一暴露可见性的地方。而在容器环境里,操作系统提供了系统调用,信号源也变得更加丰富。之前,管理员需要在VM中安装代理,但那样太复杂了,需要管理太多的东西。容器提供了更清晰的可见性,相比VM,与容器的集成会更加容易。

451 Research公司发布的一份调查报告表明,安全性是影响容器普及的最大障碍。在一开始,安全漏洞就已成为容器环境最主要的问题。随着越来越多的容器镜像的发布,确保这些镜像不含有漏洞便成为当务之急。随着时间的推移,容器镜像扫描和认证成为了一种有利可图的生意。

 

 

在VM环境中,hypervisor扮演着访问控制点的角色,而对于一个具备内核访问权限的容器来说,它可以访问内核上的其他所有容器。因此,使用容器的企业必须限制容器与宿主机之间的交互行为以及容器将会执行的系统调用。确保宿主机的cgroup和namespace配置妥当也是非常重要的一点。

传统的防火墙通过IP地址规则来控制网络流量。不过,这种技术无法在容器环境中使用,因为动态编配需要重用IP。在生产环境,运行时攻击检测是非常关键的安全手段,通过构建容器指纹和定义行为基准,就可以很容易检测出异常行为,并把攻击者隔离在沙箱中。451 Research公司的报告指出,受调的52%企业在生产环境中使用了容器,可见,在容器环境中使用运行时攻击检测十分有必要。

4. 从REST到GraphQL

GraphQL是Facebook于2012年创建并于2015年开源的一套查询语言API规范。GraphQL的类型系统允许开发者自己定义数据schema,可以增加新字段,也可以删除旧字段,这些都不会影响已有的查询,也不需要修改客户端。GraphQL非常强大,因为它没有与特定的数据库或存储引擎绑定在一起。

 

 

GraphQL服务器使用一个单独的端点来提供所有的功能。只要定义好资源之间类型和字段的关系(这个与REST端点不太一样),GraphQL就可以跟踪属性之间的关系,在单个查询中从多个资源获取数据。在使用REST时,可能需要为单个请求加载多个URL,这样不仅增加了网络跳转,还拖慢了查询速度。通过减少网络跳转,GraphQL降低了单个数据请求所要耗费的资源。GraphQL返回的数据通常是JSON格式。

使用GraphQL还有其他好处。首先,客户端和服务器端之间解耦开了,这样就可以分开维护。GraphQL使用相似的语言进行客户端与服务器端之间的通信,所以调试更加容易了。查询结构与服务器端返回的数据结构完全匹配,因此,相比其他语言,如SQL或Gremlin,GraphQL更加高效。查询本身就反映了响应消息的结构,所以可以很容易地检测出差异,如果没有正确处理某些字段也可以很容易识别出来。因为查询更简单了,整个流程也变得更稳定。虽然说GraphQL规范主打支持外部API,但我们发现将它用在内部API中也很不错。

GraphQL的用户包括Amplitude、Credit Karma、KLM、纽约时报、Twitch、Yelp等。去年11月,亚马逊推出的AppSync就提供了GraphQL支持,可见它有多么流行。在存在gRPC和Twitch Twirp这些RPC框架的前提下,看着GraphQL的发展真是一件有趣的事情。

5. 混沌工程浮出水面

混沌工程最初由Netflix发起,后来亚马逊、谷歌、微软和Facebook也开始实践。混沌工程的目的在于改进系统的确定性,以便应对生产环境的各种问题。混沌工程经历了十年的发展。最初,Netflix开发了Chaos Monkeys,用它在生产环境关闭部分服务,后来演变成故障注入测试和Chaos Kong,用在更大规模的环境中。

 

从表面上看,混沌工程只是为了向系统注入混乱。尽管通过破坏系统来发现问题是件有趣的事情,但这样做并不一定会带来生产力的提升或者给我们提供有用的信息。实际上,混沌工程不只是注入故障那么简单,它还可以制造流量高峰、非正常的请求等,用以发现已经存在的问题。除了可以用它验证假设,还可用它来发现系统的新属性。通过发现系统弱点来改进系统弹性,以免造成糟糕的用户体验。

混沌工程通过对系统进行全面的测试来改善稳定性。随着工程师们在提升系统健壮性方面所做的工作越来越多,混沌工程似乎会变得越来越为人们所接受。

随着混沌工程成为主流,它可能会以开源项目的形式、商业的形式甚至是服务网格的形式来实现。

 

 

英文原文:https://medium.com/memory-leak/5-microservices-trends-to-watch-in-2018-aed135f70e51

http://www.infoq.com/cn/articles/5-microservices-trends-to-watch-in-2018

 

分享到:
评论

相关推荐

    infoq 架构师 2018年月刊收集

    1. 微服务架构:2018年是微服务继续流行的一年,许多文章可能会讨论微服务的设计原则、拆分策略以及如何有效实施和管理微服务架构。这包括服务发现、API Gateway、容器化(Docker)与编排(Kubernetes)等技术。 2. 云...

    2018年美团点评技术年货(上,中,下)高清完整版

    《2018年美团点评技术年货》是美团点评在2018年度推出的系列技术分享资料,全面覆盖了前端、后台、系统、算法、测试以及运维等多个关键领域的技术精华。这一合集旨在为IT从业者提供丰富的学习资源,帮助他们提升专业...

    03-05-09-微服务治理只Apache Dubbo的基本认识1

    2018年,Dubbo成为Apache顶级项目,继续发展。Dubbo 3.0的规划包括支持Service Mesh,以适应云原生时代的微服务架构。 **Dubbo的核心功能** - **服务注册与发现**:通过注册中心实现服务的自动注册和发现,简化服务...

    架构师(2018年11月).pdf

    综上所述,该期《架构师》杂志关注了2018年互联网行业的动态和技术趋势,涵盖了从开源协作、框架更新、企业战略到系统架构的广泛议题,对理解当时的技术环境和发展方向提供了宝贵资料。同时,推荐系统作为信息传递的...

    2018年美团点评技术年货(中)

    《2018年美团点评技术年货(中)》是一部深入揭示美团点评在2018年度技术发展与实践的资料集。该资源主要针对技术爱好者和从业者,特别是对互联网技术、大数据处理、系统架构优化等领域感兴趣的人员。通过这份资料,...

    2018云计算发展白皮书-中国信息通信研究院-52页

    本白皮书在前几版的基础上,重点介绍了云计算的发展现状与趋势。白皮书首先梳理了国际、国内云计算市场的发展状况及热点,总结了当前云计算技术发展特点,然后从安全和风险管理两个角度对云计算的发展进行了分析,...

    2016年至2018年上半年的软件设计师习题与答案

    同时,了解这段时期内的技术发展动态,也有助于把握行业发展趋势,提升自身的竞争力。 总而言之,这是一份全面涵盖软件设计基础知识和最新技术的资源,无论你是备考还是提升技能,都能从中受益匪浅。通过系统地学习...

    2018年下半年系统架构设计师考试真题.rar

    **学习资源**:提供的压缩包文件包含三份资料,分别是“2018年下半年系统架构设计师考试论文真题(解析).pdf”、“2018年下半年系统架构设计师考试上午真题(参考答案).pdf”和“2018年下半年系统架构设计师考试...

    2018-09-21_2018中国云生态市场年度综合分析.zip

    《2018年中国云生态市场年度综合分析》是一份深度研究报告,全面解析了2018年中国云计算行业的生态发展状况。这份报告对中国云生态市场的繁荣、竞争格局、技术趋势以及未来展望进行了深入剖析,旨在为行业从业者和...

    系统分析师历年真题2012-2018年-含答案解析.zip

    综上所述,这份《系统分析师历年真题2012-2018年-含答案解析》是系统分析师、系统架构设计师等相关专业人士的必备参考资料,无论是在准备考试还是提升专业素养方面,都能提供极大的帮助。建议考生充分利用这份资源,...

    2018年系统架构设计师真题PDF.zip

    《2018年系统架构设计师真题PDF》是一份重要的学习资料,主要针对系统架构设计师这一专业领域,尤其对于备考希赛教材的考生来说,是极具价值的参考资料。这份压缩包包含了2018年度系统架构设计师考试的完整真题集,...

    2021年智能运维AIOps 6大趋势.doc

    据市场研究机构Marketsand Markets Research的报告,AIOps市场在2023年预计将达到110.2亿美元,相比2018年的25.5亿美元,年均复合增长率高达34%。这表明全球IT从业者对AIOps的采纳和投资正在加速。此外,《数字企业...

    GIAC2018@深圳PPT

    GIAC2018@深圳PPT:全球互联网...通过GIAC2018@深圳的PPT,我们可以窥见当年互联网架构领域的热点问题和发展趋势,对当前和未来的互联网技术有更全面的理解。无论是对于专业人士还是爱好者,这些都是宝贵的知识资源。

    架构师(2018年8月).pdf

    【架构师(2018年8月).pdf】这篇文章涵盖了多个IT领域的知识点,主要集中在互联网、编程语言和人工智能的应用。以下是对这些内容的详细阐述: 首先,文章提到了Kotlin编程语言的普及率。Kotlin在短短几年内迅速...

    Archsummit2018 架构师大会-精彩文章.zip

    在2018年的Archsummit全球架构师峰会上,一系列深入且富有洞见的文章引起了广泛关注。这个名为"Archsummit2018 架构师大会-精彩文章.zip"的压缩包文件,包含了那次大会的精华内容,是IT领域的专业人士不可多得的学习...

    revconf2018:RevolutionConf演讲的材料,2018年5月

    这是一场发生在2018年5月的名为“RevolutionConf”的技术大会的演讲材料集合。RevolutionConf是一个聚焦技术创新与发展的盛会,汇聚了全球顶尖的IT专家、开发者和创新者,旨在推动行业进步,引领技术变革。通过这次...

    2018年最新IT技能图谱(26套)

    综上所述,2018年的IT技能图谱涵盖了当前最热门的技术趋势,反映了IT专业人士需要掌握的广泛知识和技能。无论是对大数据的深入理解,对人工智能的探索,还是对区块链的应用,这些领域都为个人和组织提供了无限的可能...

    系统架构师章节分类真题及解析_更新至2018年.zip

    5. **新技术与趋势**:随着云计算、大数据、物联网和人工智能的发展,系统架构师需要关注这些领域的最新技术,如微服务架构、容器化、数据仓库和机器学习。 6. **法律法规与标准**:在实际工作中,系统架构师必须...

    2018 Gdevops全球敏捷运维峰会北京站.rar

    【2018 Gdevops全球敏捷运维峰会北京站】是一个重要的行业盛会,聚焦于DevOps的实践与发展趋势。这场峰会在2018年举办,汇集了全球范围内的专家和从业者,共同探讨如何通过敏捷运维提升软件开发的效率和质量。在此次...

    QCon北京2018 PPT合集

    通过这些PPT,读者可以了解到2018年IT行业的热点和挑战,学习到业界先进理念和实践经验,同时也可以看到这些技术如何随着时间发展而演进。无论是对于专业开发人员还是技术管理者,这都是一份宝贵的参考资料,能够...

Global site tag (gtag.js) - Google Analytics