云原生的进一步具象化
本文转载自公众号:HelloJava。
云原生这个概念已经越来越深入人心,但对“云原生到底是什么?”这个问题,仍然是各种各样的解读,最近对云原生具体是什么有了点感触,于是写下来分享和探讨下。
我现在认为云原生其实是让众多的公司,通过基于云的产品迅速获得在构建一个现在这个时代的应用(是不是有点像 AWS 一直讲的 Modern Applications)所必需的各种基础能力(如:极强的规模伸缩性、极高的可用性、极低的创新/运营成本、大数据的分析/运营能力等等),而不需要像以前的很多公司,为了具备这些能力,投入巨大,或者用另外一句话说:云原生就是专业的基础能力普惠化,随手可得。
当今时代的应用和多年前的应用面临的状况差别太大,这个差异和当今业务面临的激烈竞争和玩法有很大的关系,我以前一直觉得像阿里在发展过程中积累的很多能力,外面很少有公司会需要,就像当年百亿、千亿美金的公司是多么难才出现,但现在看来则完全不一样,所以这也奠定了当今时代的应用在技术层面能力的要求也远不一样,简单说几个点:
- 对可用性的要求远高于以前的应用:现在的应用通常一上线对可用性要求就已经不低了,因为一旦出问题就很容易把用户送给竞对;
- 对伸缩性的能力要求也远比以前高,主要体现在两个方面:一是团队规模,现在的业务公司很容易迅速发展到百人以上,而百人以上的研发效率如何保持尽量不下降,这对系统的伸缩能力有着很高的要求;二是用户规模,现在众多业务的用户规模可以很快地突破百万、千万规模,这就要求系统必须能根据用户规模快速地伸缩;
- 创新和运营的成本必须低:业务竞争无比激烈,快是关键,所以怎么在不需要太大投入的情况下快速上线各种业务,是无比重要的;另一个方面就是运营的成本,这个是和现在应用的用户规模、激烈竞争密切相关的;
- 大数据的玩法:现在的很多业务对获客、推荐、搜索等的大数据化要求还是相当高的。
阿里是一家在自身发展过程中,逐步碰到上述的挑战(当年的竞争环境基本还不会要求一个业务上来就把各种能力具备好),但以前也没有云可用,所以在发展过程中不断积累各种能力,现在通过开源、云商业化对外输出这些能力,使得即使到了现在这样的竞争环境下,各种有业务创新想法的同学们,还是可以像当年一样快速上线业务,而不是要先投入巨多力量、花费巨多时间把需要的基础能力打磨出来。
我自己并没有完全经历阿里的发展过程,接下来主要还是简单说下我自己经历的一些。
- 在 2007 年,淘宝在基础能力上面临的最大问题是伸缩性,两个现象当时都出现了:用户数量大量增加,加机器已经基本要加到瓶颈了;研发人员大量增长,研发效率下滑非常明显。在这个阶段,淘宝做了一轮非常重要的架构改造,磨练出了例如服务框架、消息中间件、分库分表方案、分布式文件系统、分布式缓存等基础技术产品,结合业务架构的重新设计,很好地解决掉了伸缩性的问题。
- 在 2009 年,淘宝面临了可用性问题,经常出各种故障,于是开始积累各种监控、快速恢复、tracing、系统设计里如非关键路径异步化等技能。可用性这块的投入一直在持续,到后来为解决 双11 这种特殊情况的可用性、确定性诉求而创造的全链路压测;通过同城双活、异地多活的多机房体系构建的强容灾能力以及快速恢复能力等;以及在线下场景加入后来面临的不一样的可用性方案等。各种场景的高可用方案的积累,也使得业务的可用性越来越有保障。
- 2011 年左右,阿里开始觉得未来在资源投入上的运营成本可能会很夸张,于是在 2011 年开始通过容器化来提升机器使用效率、持续进行成本优化,后来又持续通过云资源弹性来解决 双11 这类型的短时高峰的成本投入问题,通过在线离线混部解决大数据机器投入越来越大、在线机器集群利用率不高产生浪费的问题,经过多年努力,使得业务在高速增长的情况下,机器资源投入上的运营成本还是相对可控的。
如上文所讲,阿里是依靠巨大的人力投入、场景打磨和多年的持续投入才逐渐形成了完备的能力。而现在的业务,则可以用云原生的方式构建,使自身一上来就具备这些能力,至少能够让自己在如今激烈且要求更高的业务竞争环境中,不会在这些基础能力上拖后腿,以此可以花更多的精力、时间、资源在真正的业务创新上。这样具象化的云原生对整个社会的创新还是相当有价值的。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云原生下的灰度体系建设
作者 | 墨封 来源 | 阿里巴巴云原生公众号 一周前,我们介绍了《面对大规模 K8s 集群,如何先于用户发现问题》。 本篇文章,我们将继续为大家介绍 ASI SRE(ASI,Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施) 是如何探索在 Kubernetes 体系下,建设 ASI 自身基础设施在大规模集群场景下的变更灰度能力的。 我们面临着什么 ASI 诞生于阿里巴巴集团全面上云之际,承载着集团大量基础设施全面云原生化的同时,自身的架构、形态也在不断地演进。 ASI 整体上主要采用 Kube-on-Kube 的架构,底层维护了一个核心的 Kubernetes 元集群,并在该集群部署各个租户集群的 master 管控组件:apiserver、controller-manager、scheduler,以及 etcd。而在每个业务集群中,则部署着各类 controller、webhook 等 addon 组件,共同支撑 ASI 的各项能力。而在数据面组件层面,部分 ASI 组件以 DaemonSet 的形式部署在节点上,也有另一...
- 下一篇
面试官问金字塔思维如何应用在技术系统,我们聊了三十分钟
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习 0 文章概述 大家想一想工作中有没有遇到以下情况:一位同事用了很长时间罗列了很多事实和数据向你说明一件事情,但是你听完根本不知道他想要说什么。另一位同事用了大量笔墨编写了技术方案,不仅有文字还有图表,但是你看完也不知道这个方案到底要解决什么问题以及如何落地。 上述情况的出现大概率是因为表述者没有使用结构化方法进行阐释,信息看似非常丰富但是杂乱无章,让人很难抓住重点,所以我们需要引入结构化思维方法论。 金字塔原理就是一个由芭芭拉·明托女士提出的结构化思维方法论,风靡世界五十年并在各个行业都取得过很好的效果。本文我们就运用金字塔原理分析一个技术系统优化方案,并看看如何落地执行,最终总结出一个闭环工具。 1 怎么样提好一个问题 我们在工作中做的所有事情,本质上都是为问题提供解决方案。无论我们是提出一个方案,还是优化一种场景,或者是本身就是在解决问题,所以想要阐释清楚我们在做什么,第一步明确我们正在解决什么问题非常...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块