速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

DevOps 能力是落地微服务的前提

  • 2017-02-05
  • 本文字数:1131 字

    阅读完需:约 4 分钟

在软件开发领域不存在银弹,当用一项新的技术或新的架构时一定要明白其背后的原理,确保把合适的技术应用在合适的项目上,而不是盲目跟风。

单体应用伸缩性差,而且随着应用规模的扩大,业务逻辑和开发部署过程都变得极其复杂。牵一发而动全身,任何一个微小的改动都有可能影响整个应用,新技术的更新换代对于单体应用来说几乎是个不可能的任务。

相比单体应用,微服务灵活自由,伸缩性强,近年来深受软件开发者的热捧。不过,微服务虽然没有了单体应用的某些局限,但却对开发运维和整个组织提出了更高的要求。在采用微服务架构之前开发者要先想清楚自己的项目是否适合采用微服务架构,以及是否有足够的能力运维一个微服务生态系统。

微服务概念的提出者 Martin Fowler 其实在很早之前就说明了使用微服务需要具备的三个核心能力,分别是服务器的快速扩容、监控和应用的快速部署。下面是具体介绍。

硬件资源是否能够快速到位

为了避免资源竞争和服务间的相互影响,微服务一般是部署在单独的硬件资源上。当有新的微服务加入系统,或者需要对微服务进行伸缩时,必需能足够快地为其准备相应的硬件资源。如果使用了云服务,在获取新资源时会相对容易一些。但在没有云服务的情况下,那么至少需要有一个自动化或者半自动化的系统能够满足快速分配资源的需求。

是否具备了微服务监控能力

微服务生态系统可能会很庞大,服务间相互依赖,个体微服务的可用性会影响整个系统的可用性。对微服务进行监控可以及时地发现微服务的运行状况,如果有些服务出现故障(可能有些在测试阶段没有被测出来的缺陷进入了生产环境),需要及时回滚到之前的稳定版本,避免对系统的整体可用性造成影响。

是否具有快速的开发部署流程

微服务变化很快,一个微服务在一天之内可能需要部署多次,因此需要一个快速的开发、部署以及测试流程。可以在整个流程中引入部署管道,部署管道规定了一系列严格的自动化部署过程,可以加快部署的速度。

微服务系统通常涉及多个团队之间的合作,除了开发团队之间的合作之外,还有开发团队和运维团队之间的合作。运维团队需要保证开发团队能够活得足够的资源,当发生问题时,运维团队能够快速向开发团队暴露问题,开发团队能够及时地解决问题。 DevOps 是开发和运维之间的粘合剂,可以促进团队之间的合作。

微服务系统比我们想象的要复杂得多。微服务给我们带来了诸多好处,同时也对我们提出了更高的要求。必要的时候,我们需要通过调整组织结构来更好地支持微服务系统的发展。所以在转向微服务架构时,需要先考虑好这些问题,并想清楚微服务是否真的适合自己。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-05 18:005942
用户头像

发布了 322 篇内容, 共 141.1 次阅读, 收获喜欢 146 次。

关注

评论

发布
暂无评论
发现更多内容

SAP | 聊一聊必不可少的Debug

暮春零贰

debug SAP 10月月更

分布式事务-事务补偿(TCC)

zarmnosaj

10月月更

生产数据实时分析,产品质量高效管控|打造面向工业4.0的智能工厂02

EMQ映云科技

云原生 物联网 IoT 边云协同 10月月更

软件测试面试真题 | 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

测试人

软件测试 面试题 测试开发 测试工程师

HTML基本知识学习笔记

虾仁疙瘩汤

html 前端 10月月更

rdd pair reduce

小东

HTML学习笔记

虾仁疙瘩汤

html 前端 10月月更

英特尔“四维发力”系统级代工:晶圆制造、封装、芯粒、软件

科技之家

1024程序员节 | 畅聊名“猿”之路,重磅视频预告

小谷哥

你好

小东

第一次

华为云大数据BI解决方案,如何帮助企业精准营销

路过的憨憨

华为

华为云对象存储OBS,助力企业高效解决存储问题

路过的憨憨

华为

分布式事务Seata框架的AT模式

C++后台开发

分布式 微服务 后端开发 C++开发 Seata框架

低代码平台 - 危险的赌注

世开 Coding

软件开发 低代码 开发框架

大数据开发培训学习方法

小谷哥

【文本检测与识别白皮书】第三章 - 第三节:算法模型 2

合合技术团队

人工智能 深度学习 大数据 文字识别

LeaRun低代码开发平台 助推物联网应用快速落地

力软低代码开发平台

Wallys /IPQ4019 IPQ4029 ,HTTPS / all the modules of Quectel/Indoor Aluminium alloy material

wallys-wifi6

IPQ4019 ipq4029

一文读懂云渲染“串流”全链路时延及优化策略

阿里云CloudImagine

阿里云 云渲染 云游戏 串流

华为云对象存储服务OBS教你一招轻松解决存储难题

路过的憨憨

华为

命令执行相关的web题

w010w

命令行 CTF 每日一题 10月月更 web基础

SAP | 如何使用内部表

暮春零贰

SAP 10月月更 内部表

前端培训学习完之后可以从事的工作方向

小谷哥

web前端培训学习能找到工作吗

小谷哥

CSS学习笔记1

虾仁疙瘩汤

CSS html 10月月更

BizWorks应⽤平台基于KubeVela的实践

阿里云E2企业云服务

阿里云 中台 插件 企业架构和云服务 api 网关

倒计时第2天!2022 XDR网络安全运营新理念峰会即将开幕

未来智安XDR SEC

网络安全

新手剪辑师秒变大神 高级感视频剪辑的几种常用技巧

懒得勤快

如何规范App广告的隐私获取,让用户拥有更多知情权?

HarmonyOS SDK

广告sdk

持续引领产业发展,华为云桌面连续6年位居国内市占率第一

路过的憨憨

华为

华为云CDN联手OBS桶,帮助企业更好降本增效!

路过的憨憨

华为

DevOps能力是落地微服务的前提_语言 & 开发_薛命灯_InfoQ精选文章