2019年微服务5大趋势,你pick哪个?
2018年对于微服务来说是非常重要的一年,这一年Service Mesh开始崭露头角,解决服务间复杂的通信问题,这一年很多国内互联网公司已经有了较为成熟的微服务实践案例,网易云主办的微服务实践沙龙中也曾邀请过多位微服务大咖带来干货分享。2019年微服务领域又有哪些新趋势呢?
在2018年初,来自Redpoint的VC Astasia Myers曾成功预测过Service Mesh,事件驱动的架构,容器本地安全等趋势,而在2019年初,他们认为微服务将在以下领域取得重大进展:
测试自动化
持续部署/持续验证(CD/CV, Continuous Deployment/Verification)
应急响应
云服务费用管理(CSEM, Cloud Service Expense Management)
Kubernetes扩展到机器学习领域
趋势1:CI来了,自动化测试也该兴起了
传统模式下,测试用例的设计通常用来判断软件能否在不同场景下正确地运行,通常由QA工程师创建和运行测试用例。现在,在持续集成(CI, continuous integration)的pipeline中,软件工程师开始从传统的QA团队中接手部分测试的职责,这也给开发者带来了新的负担。
大部分业务团队都希望有一套能够自动化地设计,运行和汇报结果的软件测试解决方案,并且这套解决方案能够和CI系统无缝兼容,实时检查最新的代码,像人工一样添加注释。这套解决方案还要有UI界面,以便于工程师们能在用户界面中寻找问题,减少漏判。大多数情况下,我们通过界面鼠标点击的方式来完成测试,但是有时这种测试方式并不能覆盖所有场景,而API测试往往能更好地解决这种问题。
在网易轻舟微服务平台中,GoAPI接口测试是以接口生命周期管理为核心理念,以提高微服务测试效率为核心价值的协作平台,提供一站式接口管理、测试方案。通过接入GoAPI测试,德邦快递的自动化测试已经覆盖核心系统主流程,发现缺陷率达到49.8%。
趋势2:高效的持续部署/验证,将替代低效的手动部署
据说在某些金融机构中,有十分之一的DevOps工程师从事的工作是部署软件到生产环境中。持续部署将代码从测试到部署的过程自动化,代替了DevOps工程师的手工操作,假设持续部署软件仅取代全球10%的DevOps工程师的价值,整个持续部署的市场规模也将接近20亿美元。
持续验证在持续部署之上加了一个智能层,从日志和APM中收集事件数据,并通过机器学习技术,去分析导致成功和失败部署的特征。持续验证还应该提供人工介入的接口,以便工程师能提供反馈,提高模型的准确度,并与系统建立信任。此外,持续验证通常还能够安全地回退失败的部署。相信未来持续验证可以帮助持续部署在多云环境下成为一个智能的控制点,它还可以基于服务的特征,去选择最合适的云,区域和配置。
在轻舟微服务平台中,CodePipeline提供一整套端到端的工具链,打通代码检出、编译、镜像构建、部署、测试阶段,帮助团队提升使用微服务架构时的持续集成、持续交付能力。基于Codepipeline,网易考拉的变更频率由每天2次增长到每天1000次以上,结合熔断,限流,降级等策略,软件产品质量提升52%。
趋势3:宕机不用怕,应急响应来“救火”
宕机通常会带来财务损失,所以快速的解决方案非常重要。据Gartner的数据显示,平均每分钟的宕机会给业务带来5600美元的损失,而像Amazon这这大型网站,平均每分钟的损失则高达22万美元。并且每次宕机不但会给业务带来财务损失,还会对品牌造成伤害。
SRE(Site Reliability Engineers,网站可靠性工程师)应运而生,当服务失败的时候,整个SRE团队会收到报警,同时会启动一系列的工作流。应急响应指挥官维护着一份“响应状态报告”,其中记录了事件情况,环境和修复情况。每个团队成员按照预先定义好的模板化的规程去执行解决方案。
PagerDuty,Slack,Jira,Google文档和知识库都是SRE团队用来做事件响应的常用工具。Redpoint认为这些工具可以被整合为端到端的SaaS平台,帮助自动化修复的过程,最终形成最佳实践。这个平台不光要分配角色和启动工作流,还要陈述事件的影响范围,状态,事件时间轴,会加速MTTR(Mean-Time-To-Recovery,平均恢复时间),协作和知识共享。
趋势4:不想花冤枉钱,就请把云服务费用管理重视起来
云服务费用管理(CSEM)不但对工程师和IT团队影响至深,也是整个公司面临的挑战之一。大部分业务都是混合云的部署模式,但是仅使用公有云的企业数量也有增长的趋势,随着公有云市场的扩展,成本管理和预测会变得越来越重要。
尽管市场上已经有很多云服务费用管理的解决方案,但是费用控制对云服务的客户来说依然是一个痛点。一个云服务费用管理平台应该能识别出过载或闲置的资源,需要支持预定和现买现卖,规模优化,退款,还要能设置定制的折扣,并标记异常的花费,还能根据流量的上涨和数据存储需求预测费用,此外服务优化也是关键功能。
趋势5:Kubernetes扩展到机器学习领域
Kubernetes已经成为容器编排的事实标准,它的领域也在不断扩张,未来Kubernetes将成为机器学习技术栈的一部分。比如,Google发布了开源的Kubeflow,通过添加Custom Resources Definitions (CRDs) 到集群中,扩展了Kubernetes的API,使得机器学习的工作负载在Kubernetes中成为一等公民。在KubCon Seattle 2018大会上,Kubeflow已经成为关注度最高的云原生项目。无独有偶,Lyft也基于Kubernetes构建了自己的机器学习平台。还有一些独角兽公司在试图将Kubernetes上的机器学习和分析的工作负载标准化。
你认为2019年微服务会有哪些趋势?欢迎在留言区与我们互动。
参考链接:https://medium.com/memory-leak/5-microservices-trends-to-watch-in-2019-fd2dbd33780d
本文首发自网易云社区,转载请注明出处。
相关文章:
【推荐】 网易容器云平台的微服务化实践(一)
【推荐】 多大规模的数据才值得用大数据的方式来处理?
2019年微服务5大趋势,你pick哪个?的更多相关文章
- 微服务应用新趋势:Service Mesh、AIOps和中台化
微服务技术由于天生支持快速迭代.弹性扩展的特点,使企业能够在不确定性下提升发展速度及抗风险能力,受到了越来越多的关注.当前,云服务商纷纷试水微服务产品,最为典型的,当属推出轻舟微服务平台.剑指整个微服 ...
- 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区 ...
- 2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享
微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微 ...
- 带你十天轻松搞定 Go 微服务之大结局(分布式事务)
序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...
- 掌握业界最新工程实践 | 了解AIOps下一代微服务等最新趋势
近年来,IT应用越来越复杂,一旦出现故障,诊断越来越困难,使用传统技术来管理机器数据的组织会让其运维团队不堪重负.幸好随着大数据.机器学习和AI技术的飞速发展,智能化运维给这一现状带来了改变. 那么就 ...
- 微服务架构下 CI/CD 如何落地
本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...
- 我眼中的ASP.NET Core之微服务
### 前言 前几天在博客园看到有园友在分享关于微软的一个微服务架构的示例程序,想必大家都已经知道了,那就是[eShopOnContainers](https://github.com/dotnet- ...
- ELK-6.5.3学习笔记–使用filebeat管理微服务日志
微服务日志打印. 转载于http://www.eryajf.net/2369.html 上边是输出了nginx日志,从而进行展示,以及各种绘图分析,而现在的需求是,要将微服务当中的日志汇总到elk当中 ...
- 《深入理解Spring Cloud与微服务构建》书籍目录
转载请标明出处: https://blog.csdn.net/forezp/article/details/79735542 本文出自方志朋的博客 作者简介 方志朋,毕业于武汉理工大学,CSDN博客专 ...
随机推荐
- Gitlab安装与备份恢复
GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费.GitLab是一个用于仓库管理系统的开源项目, ...
- (转)Word插入图片显示不全怎么办
https://jingyan.baidu.com/article/e73e26c0c0081c24adb6a73d.html 现在告诉大家解决办法. 方法一: A.单击选中图片,然后在“开始”选项卡 ...
- C语言中 .h文件和.c文件的区别
要理解.c文件与.h文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CP ...
- 微软microsoft word的api文档地址
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa172758(v%3doffice. ...
- JSON转Excel
1.引入js (dist目录下JsonExportExcel.min.js) <script src="https://cuikangjie.github.io/JsonExportE ...
- java中的throw、throws和try catch浅析
今天在公司和同事聊天的时候,突然发现自己对java中的throw.throws和try catch的作用理解不够准确,在网上查了查,在此大概梳理一下. throw用于抛出异常,例如 throw new ...
- Python设计模式 - 创建型 - 单例模式(Singleton) - 十种
对于很多开发人员来说,单例模式算是比较简单常用.也是最早接触的设计模式了,仔细研究起来单例模式似乎又不像看起来那么简单.我们知道单例模式适用于提供全局唯一访问点,频繁需要创建及销毁对象等场合,的确方便 ...
- fabric 在阿里云Ubuntu部署 注意
部署时候报 段错误: signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7fcd47490259] 解决方案: 更新Hype ...
- 560. Subarray Sum Equals K 求和为k的子数组个数
[抄题]: Given an array of integers and an integer k, you need to find the total number of continuous s ...
- springboot与缓存(redis,或者caffeine,guava)
1.理论介绍 Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry. CachingProvide ...