为何企业要选择DevOps转型

2022-04-11

215

随着行业竞争加剧,采用传统架构越来越难以满足业务对“求快”、“求变”的诉求。软件架构一直在变革发展,经历了单体、垂直、SOA等各个阶段,直到今天的微服务架构。

先来看看企业为何从单体应用转换到微服务架构

单体应用架构存在的弊端:

  • 模块间依赖性强,相互影响,无法有效演进,阻碍对需求的快速匹配
  • 架构修修补补,越发复杂,导致测试成本高,测试不充分,质量无法保证
  • 核心技术组件成为发展瓶颈,造成上线时间长,成本高,问题多

微服务架构的优势:

  • 模块间松耦合,相互独立,能够持续演进,快速达成需求
  • 架构灵活扩展,测试范围明确,促成自动化测试提高效率
  • 按功能点打散,解除瓶颈,让只上线变更的服务,通过自动化手段形成持续部署能力
一个典型的微服务支撑系统(以行云创新CloudOS为例)

但很多企业完成微服务改造之后,发现测试成本都增加了。因为,从前是单体应用,后面改成分布式应用,需要测试的点多了,服务和服务之间各种功能测试和非功能性测试都要测试,特别是在SIT这部分,这部分增加成本会带来延缓交付周期的结果。

于是很多企业在微服务后,就开始需要DevOps转型。

DevOps,即 Development and Operation 的组合,不再把开发和运维割裂开来,从最初的软件开发到最终的交付运行,通过自动化工具结合管理流程,实现完整的闭环。

从“DevOps三步工作法”来看,DevOps的最终目标之一,是对组织文化进行改造,建立一种相互信任、持续改进和不断创新的组织文化,具有三大原则:

  • 价值快速流动
  • 问题快速反馈
  • 构建学习型组织

DevOps 的关键

  • 提供可重用的基础组件

不要重复开发功能类似只是换一种语言、平台实现的大而全的工具平台。

大公司确实有充足的资金和人力来不断推到重建系统,不过我感觉很多系统其实是重复的功能实现,而且由于功能面向特定流程定制,无法作为基础组件复用。每换一批人就重复造出功能几乎一样的平台,虽然投入了大量的资源倒是收益有限。

作为云计算,应该提供的是基础的组件,这样用户可以用这些组件来构建自己的业务。你应该把基础做得更稳定、更具有伸缩性、性能更强且冗灾鲁棒。

  • 自动化

想办法构建一个能够定制的自动化平台,不管是Ansible、Puppet还是容器技术。虽然有些故障异常判断还需要依赖人的经验和知识,但是经验和知识需要转化成自动化的监控和异常自动处理程序,来代替人工完成海量服务器的自动运维。

现代的运维人员实际上是开发自动运维工具的开发人员,每发现一个新的未被自动解决的故障类型就应该扩展工具在未来自动发现和解决此类问题。所以,理论上SSH的操作会越来越少。

  • API一旦上线无法更改

API的任何改动会影响到用户已有项目,所以就如同操作系统开发一样,真正的好的开发实际上就是定义数据结构。

  • 监控资源使用

云计算提供给用户的是基础资源,用户的业务千变万化,使用的方法也往往出人意料。所以,必须有充分完善的监控来了解资源使用,合理改进平台。

  • 从产品的整个生命周期都实现安全

安全不是事后检查,而是和质量一样,是从产品的设计制造开始的。从软件开始设计,安全就必须贯穿始终,确保代码、部署的安全,否则云计算平台可能存在潜在的安全漏洞。

  • 数据加密

向用户提供自定义加密密钥,实现数据中心服务器端数据加密,这是保障云计算安全的关键。

行云创新专注打造一站式云原生开台,支持软件全生命周期管理,提高应用上云、微服务改造、落地云原生DevOps、多云业务调度及管理、可视化微服务治理等一站式云原生解决方案;其中,DevOps开发平台实现敏捷高效开发支撑,包括开发、测试、部署、CICD等。

技术交流
我们建了一个云原生技术交流群,其中有来自Oracle、Citrix、华为、腾讯等国内外云计算专家,立即扫码,拉你进群。目前已有1000+开发者加入我们......
云原生厂商 云原生技术服务商
在云原生时代,行云创新致力于通过赋能开发者,实现企业快速迭代与交付,大幅提升创新效率。
免费试用