为何使用云原生应用架构 三 :独霸天下之四大绝技 — 弹,弹,弹性扩展篇

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为何使用云原生应用架构 三 :独霸天下之四大绝技 — 弹,弹,弹性扩展篇相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

为何使用云原生应用架构 三 :独霸天下之四大绝技 — 弹,弹,弹性扩展篇

  上篇文提到,在保障软件价值交付的速度同时,云原生应用架构提供了安全及容错机制,确保实现价值的高可靠性
  软件的功能部署有了着落,而这仅仅只是开头,在软件价值实现整个生命周期中,服务或业务能力的增长才是主旋律

  下面聊聊,云原生应用架构中,支撑软件能力快速成长的独家招式 — 服务的自主、弹性、扩展

业务/服务能力快速增长才是软件生命周期主旋律

“ 学如逆水行舟,不进则退 ”。

  中国有句老话,“ 学如逆水行舟,不进则退 ”。这样的谚语词根在市场中同样适用,市场行情 / 风向无时无刻不在变化,迫使着软件价值必须持续增长,这样才能在市场中站住跟脚

  股票交易所是 “ 产品/服务价值增长 ” 的 “ 现实或生活中具象的体现。

  每年会有各种风投及资本巨鳄对市场公司的财报做各种分析,以用于决策资本是否继续追投 或 及时变现。而财报中某中数据的增长是决策的关键性指标!
  可以这样说,产品/服务的快速持续增长决定了一家企业未来能够走多远!其中的商业变现能力是否持续强劲,更是决定了企业能够活下去的关键能力。

「本文主 ” 产品/服务增长,云原生架构如何应对 “ 。具体商业变现这里不做详细解,请关注后续文章」

产品/服务持续增长背后是技术架构的全力输出

  公司/团队的技术架构默默陪伴,支撑着软件价值的快速增长。随着产品/价值 需求的增多,架构所承担的服务能力担子一重再重。

服务垂直扩展

  应对服务能力的增长,传统的解决方案一般就是通过垂直扩展应用组件,达到处理更多需求的目的。常用的做法就是购买性能更优秀的服务器,以提升服务能力。但是这种方式会给资源规划造成极大的困扰!
  在市场竞争中,企业/团队往往会推出实效性活动刺激用户行为,达到某种数据增长的招式,比如 双十一、618、黑色星期五等等….,为了保障此类服务平稳,往往我们需要提供比平时更强大的计算能力!
  如何确定需增加多少资源预算,确是一个无法准确约束的难题,通过人为经验估算会导致结果偏高,毕竟谁都不会愿意承担服务力匮乏导致数据未达预期增长的责任!
  即使我们完全 hold 得住这类流量,但由于这种规模具有实效性,过去了服务恢复原水平,会出现因为资源预算过多,资源利用率低,甚至资源闲置的尴尬局面!

  这个时候,人们往往在这两种行为活动中拼命的想法子兼顾,可仔细想想,你的团队这样真的可以完全兼顾吗?

服务水平扩展

  创新型公司面对这种问题提供了两种特殊的解决方案:

1、不再进行垂直扩展,采购大量的廉价机器提供水平实例扩展
2、将大型服务器进行 虚拟化 ,并部署多个隔离的工作负载提升大型服务器的资源利用率

  这种解决方案,在一定程度上解决了此类扩展问题,还提升资源利用率。在提升服务能力的同时,节省了成本!

  但还是存在一些局限。例如,在水平扩展时,无法实现自主性,不够灵活;在服务器虚拟化之后,硬件系统负载很高,利用率仍存在上升空间等问题!

服务自主弹性扩展

  对于云原生应用架构来讲,极近完美的给出了解决方案。
  将服务上云,云基础设施的自主特性非常适合服务节点的自主扩展,云将按需、自助弹性提供和释放计算、网络和存储资源的计算环境。针对资源利用率的问题,作为应用程序部署单元,云原生提供了比虚拟化效率更高,资源使用率更高的容器化技术,进一步逼近服务器的潜能

  公司/团队,无需对服务能力增长付出更多的精力,成本,将专注于业务创新、价值质量、团队成长等方面,为公司提供真正敏捷型力量!

注意:
这里需要提出,关于云原生应用架构使用的一个基准「benchmark」。在提供自主弹性扩展的同时,要求同分布式架构,“ 状态外部化至存储 ” 特性一致。保证应用实例本身的无状态性,这样才能快速创建及销毁、附加状态、解除状态,对外提供服务能力。

Q&A

1、云原生针对服务快速自主扩展的内部实现及原理是什么?

本篇主 “ 云原生架构的四大特性 ” 讲解,面向初了解同学,布道类型。实现及原理涉及云基础架构设计,请关注后续文章!

2、云原生既然有自主弹性扩展能力,为啥市场上仍然有未上云的?

任何架构都不是完美的解决方案,只有适合自己的才是最完美的。

针对各自企业/业务发展阶段,选择/设计不同应用架构才是最佳的解决方案!

3、服务能力需要增强,除了水平扩展实例,还有其他方面的解决方案吗?

有,在软件开发的每个流程中都可以对服务能力做某些行为。
这里简单列个 case : 比如可替换某些服务 组件/算法,利用 nginx 、xxhash 等等这些都具备极其优秀的性能!间接也达到了服务能力增强的效果!

4、云原生应用架构 四大绝技 还剩一个是啥呀?追更!

想知道百度现在 out BAT 队列的主要原因吗?下篇文就解答!「移动应用体验优先」

附录

技术交流或许不适合大会议室,书写和提问都不顺畅,大会议室的或许是技术分享。

欢迎加入Q群聊【编程技术交流分享群717647116】,微信群请私信博主添加

以上是关于为何使用云原生应用架构 三 :独霸天下之四大绝技 — 弹,弹,弹性扩展篇的主要内容,如果未能解决你的问题,请参考以下文章

为何使用云原生应用架构 三 :独霸天下之四大绝技 — 弹,弹,弹性扩展篇

为何使用云原生应用架构 一 :独霸天下之四大绝技

为何使用云原生应用架构 一 :独霸天下之四大绝技

为何使用云原生应用架构 二 :独霸天下之四大绝技

为何使用云原生应用架构 二 :独霸天下之四大绝技

为何使用云原生应用架构 四 :独霸天下之四大绝技 — 终端多样性 篇