写点什么

微服务与单体架构:IT 变革中企业及个体如何自处?

  • 2020-04-23
  • 本文字数:3125 字

    阅读完需:约 10 分钟

微服务与单体架构:IT变革中企业及个体如何自处?

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

当下,企业越来越多地受到竞争对手和他们自己的客户的压力,既需要让应用程序更快地在线运行,同时又要最大限度地降低开发成本。这些不同的目标,迫使企业 IT 组织必须一刻不停地迅速发展。自 20 世纪 60 年代以来经历了一次又一次的强制演变之后,大量的企业 IT 已经准备从单体应用架构中走出一步,走上微服务之路。



图 1:传统单体应用程序和微服务之间的架构差异

更高的期望和更有能力的客户

那些能够接触到全球产品及服务的客户,现在愈发强势地希望他们的供应商企业能够快速响应其他供应商正在做的事情。


CIO 杂志在报道 Ovum 的研究时曾指出:


在“客户之旅”中,是“客户”本身占据着上风。拥有更多的购物方式,以及开始花费更少的时间在购物上,客户们需要的不仅是快速地收集信息和完成交易。他们经常希望能无需进行冗长的对话、甚至在去往某地的途中、在移动设备上就能快速完成这项工作。

处于压力之下的 IT

这场激烈的全球竞争,也迫使企业寻找新的方法来削减成本或找到更有效的新方法。开发人员在过去其实已经看到了这一切。这只是企业 IT 十多年来所面临的“少花钱多办事”这一永恒号召的当代新版本罢了。他们已经了解到,尽管 IT 总预算增长了,但在新 IT 服务以及通信服务这一块需要的投资也增多了。



图 2:Gartner 的 2018 年全球 IT 支出增长预测


企业 IT 组织需要对时代的发展和新的需求作出回应,这一压力也使得他们不得不重新审视他们的开发流程。传统的长达两年开发周期,或许在过去是可以接受的,但在现阶段早已不再令人满意。没有人能够等待。

趋势的汇合

企业 IT 也被迫对各种趋势作出回应,这些趋势是分歧和矛盾的。


  • 引入廉价但高性能的网络连接 ,让分布式功能彼此之间通过网络进行通信的速度,与之前可在单个系统内相互通信的流程一样快。

  • 推出功能强大的微处理器 ,可在廉价和小型封装中提供大型机级性能。在标准化 X86 微处理器架构之后,企业现在不得不考虑其他架构来满足他们对更高性能、更低成本、以及更低功耗和热量的需求。

  • 内部系统内存容量不断增加 ,因此可以在小型系统中部署大型应用程序或应用程序组件。

  • 外部存储的使用正逐渐从使用旋转介质变为固态设备 ,这样可以提高性能、减少延迟、降低总体成本并提供巨大的容量。

  • 开源软件和分布式计算功能的发展 使企业能够在需要新功能时廉价地添加一系列系统,而不是面对昂贵且耗时的叉车升级来扩展中央主机系统。

  • 客户要求即时、轻松地访问应用程序和数据。


要应对这些趋势,企业 IT 部门很快就会发现,他们一直依赖的方法——专注于充分利用昂贵的系统和网络——必须改变了。如今最大的成本是人员、电力和冷却。二十多年前,企业将重点从单体大型机计算转移到基于 X86 的分布式中端系统,诚然那是一次变革,但当下的变化趋势及变革与那时不同了。

下一步发展在哪?

以下是企业 IT 为响应所有这些趋势所做的工作。


他们选择从使用传统的瀑布式开发方法转向各种形式的快速应用程序开发。他们也正在从编译语言转向解释或增量编译的语言,如 Java、Python 或 Ruby,以提高开发人员的工作效率。


例如,IDC 预测:


到 2021 年,65%的 CIO 将把敏捷开发/DevOps 实践扩展到更广泛的业务中,以实现创新、执行和变革所需的速度。


复杂的应用程序越来越多地被设计为独立的功能或“服务”,可以托管在网络上的多个地方,以提高应用的性能和可靠性。这种方法意味着可以解决不断变化的业务需求,以及可以在无需并行更改任何其他功能的前提下,向一个功能中添加新功能。NetworkWorld 的 Andy Patrizio 在对 2019 年的预测中指出,他预计“微服务和无服务器计算将起飞”。


另一个重要变化是这些服务托管在地理位置分散的企业数据中心、云端或两者兼有之中。此外,功能可以驻留在客户的口袋中,也可以驻留在基于云或公司系统的某种组合中。

这对你意味着什么?

这些趋势的到来,意味着企业开发人员和运维人员必须对其传统方法进行一些重大变革,包括:


  • 开发人员必须愿意学习更适合当今快速应用程序开发方法的技术。 经验丰富的“学生”可以通过在线学校快速学习。例如,Learnpython.org 提供 Python 免费课程,而 codecademy 提供 Ruby、Java 和其他语言的免费课程。

  • 他们还必须愿意学习如何将应用程序逻辑 从单体静态设计分解为独立但协作的微服务集合,各类在线学习网站依然是不错的选择,例如 IBM 的微服务课程(https://www.coursera.org/learn/intro-ibm-microservices)、Lynda.com 等等。

  • 开发人员必须采用新工具来创建和维护微服务 ,以支持它们之间快速可靠的通信。善于使用各种商业和开源的信息传递和管理工具,可以大大简化这一过程。例如 Rancher Labs 的全开源平台 Rancher 为用户提供 Kurbernetes-as-a-service。

  • 运维专家需要学习容器和 Kubernetes 的编排工具 ,以了解它们是如何让团队快速开发和改进应用程序和服务,而又不会失去对数据和安全性的控制。长期以来,运维一直是企业数据中心的守门人。毕竟,如果应用程序变慢或失败,运维人员就要在此时负责解决这一局面。

  • 运维人员必须允许这些功能托管于他们直接控制的数据中心之外。 为了说明这一点,Market Research Future 的分析师最近发表了一份报告称,“2017 年全球云微服务市场价值为 5.844 亿美元,预计到预测期结束时将达到 21.467 亿美元,复合年增长率为 25.0%”。

  • 应用程序管理和安全问题现在必须成为开发人员思考的一部分。 在线课程又一次地可以帮助个人发展这方面的专业知识。很多网站包括 LinkedIn 提供了如何成为 IT 安全专家的课程。


非常重要的一点是,IT 和运维人员都必须理解 IT 的世界正在快速发展变革,每个人都必须专注于提升自身的技能和专业知识。

微服务如何使企业受益?

微服务这种分布式计算的最新发展,为企业带来了许多实际和可衡量的收益。在 IT 组织采用这种形式的分布式计算后,开发时间和成本花费都可以大大降低。之后,可以根据需要并行开发每个服务并进行细化,而无需停止或重新设计整个应用程序。


开发团队可以专注于开发人员的工作效率,并且仍然可以快速、在线地提供新的应用程序功能。运维团队则可以专注于为应用程序执行定义可接受的规则,并通过编排和管理工具强制执行它们。

企业面临哪些新挑战?

与任何 IT 方法一样,微服务架构的应用在带来益处的同时也将带来挑战。


监控和管理大量“移动部件”,要比处理一些单体应用程序更具挑战性。采用企业管理框架能有助于应对这些挑战。除此之外,此类分布式计算的安全性也需要首要考虑。随着网络上独立功能的增加,每个功能都必须进行分析和保护。

所有单体应用程序都应该迁移到微服务吗?

一些单体应用程序很难改变。这可能是由于技术挑战或可能是由于监管限制。今天使用的一些组件可能来自于已经倒闭的供应商,使得迁移或重构变得极其困难甚至不可能。


对于企业来说,完成整个审计过程既费时又费钱。通常情况下,企业继续投资旧应用程序的时间,比他们相信自己在节省资金的时间长得多。


企业应该先评估清楚某个单体应用是具体做什么的,再考虑是不是要分离某些单独的功能并作为较小的独立服务运行。这些可以实现为基于云的服务或基于容器的微服务。


最明智的方法,不是等待并试图解决整个旧技术,而是进行一系列渐进式的更改,使得增强或替换旧系统的计划更容易被接受。这与那句古老的谚语非常相似,“植树的最佳时机,是 20 年前,其次是现在。”

这些变化值得吗?

大量已经采用基于微服务的应用程序架构的企业已经证明了,他们的 IT 成本通常会降低。他们还经常表示,一旦他们的团队掌握了这种方法,当市场需求发生变化时,添加新功能和特性会更容易、更快捷。


如果您的企业还完全没有踏上微服务之路,从现在开始了解更多信息也是好的。此外也应该多关注业界的一些新近流行的技术与解决方案,如 Kubernetes、Rancher、Serverless 等等。


2020-04-23 17:23577

评论

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

鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级

阿里云瑶池数据库

数据库 云计算 阿里云 云原生 polarDB

软件测试学习笔记丨自动化关键数据记录

测试人

软件测试 测试开发

2024年的Rust与Go,看完你悟了吗?

伤感汤姆布利柏

技术浅析:前端沙箱数据安全保护的机制

FN0

沙箱 小程序安全沙箱

解锁淘宝商品详情数据:淘宝天猫商品详情接口助你精准营销

tbapi

淘宝商品详情数据接口 淘宝API接口 天猫商品详情数据接口 淘宝商品数据接口

互联网时代的拍卖创新:现成拍卖直播源码搭建平台成为的新宠

软件开发-梦幻运营部

SDN 拓扑感知技术带你逃离灾难,轻松实现云灾备

品高云计算

【技术探讨】一种多节点5Km(1.2M bps速率)实时Sub-G无线通信的物联网通讯解决方案

Geek_ab1536

选300平米别墅还是90平米小平层?一文带你读懂PolarDB分布式版集分一体化

阿里云瑶池数据库

数据库 云计算 阿里云 polarDB

WebAssembly核心编程[1]:wasm模块实例化的N种方式

EquatorCoco

编程 Web 开发语言

构建知识图谱:从技术到实战的完整指南

快乐非自愿限量之名

人工智能 机器学习 深度学习 大数据

Hover的“Project Lever”为Kava带来实质收益

股市老人

金蝶云星辰与交通银行的完美结合:引领企业迈向高效支付管理新时代!

聚道云软件连接器

案例分享

对于企业来讲鸿蒙是机会还是累赘?

FN0

鸿蒙系统 鸿蒙 Ability

赛博威大客户服务中心 | 助力企业突破运维困境,创造更多服务价值

赛博威科技

数字化 系统运维

【体验有奖】5 分钟函数计算部署 AI 艺术字应用,晒姓氏头像赢 Cherry 键盘!

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

SD-WAN技术:网络升级的智慧选择

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

年货零食大单来袭,极兔速递如何精准破解旺季物流难题?

新消费日报

mac电脑数据库管理工具:DBeaverEE v23.3.1企业激活版

iMac小白

语音数据集在智能驾驶中的价值与应用

来自四九城儿

软件测试学习笔记丨常用的设备交互命令

测试人

软件测试

低代码开发在金融系统中的应用研究

EquatorCoco

低代码 金融 开发应用

面向工业设备远程运维的低代码开发平台设计

快乐非自愿限量之名

架构 低代码 数字化 工业

SD-WAN和专线混合组网:企业出海网络解决方案

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

基于低代码的管理系统模板库的设计与实现

不在线第一只蜗牛

数据库 低代码 数据管理 模板

如何让Go程序以后台进程或daemon方式运行

伤感汤姆布利柏

TuGraph Analytics图数据集成:表到图的最后一公里

TuGraphAnalytics

数据仓库 数据集成 tugraph 图数据集成 图表转换

A/B实验在字节跳动推荐系统中的应用与实践

字节跳动数据平台

数据库 大数据 AB实验 企业号 1 月 PK 榜 数字化增长

QCN9024 QCN9074|Step by Step to load driver for DR9074-Triband onlinux 5.17.0

wallyslilly

EMQ 和 Intel 评选工业物联网领域最佳案例与应用

新消费日报

NFT Dapp的兴起:关于创建NFT Dapp需要了解什么

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

微服务与单体架构:IT变革中企业及个体如何自处?_文化 & 方法_Rancher_InfoQ精选文章