3

云原生的进一步具象化

 3 years ago
source link: http://dockone.io/article/2434270
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

云原生的进一步具象化


_本文转载自公众号:HelloJava。_

云原生这个概念已经越来越深入人心,但对“云原生到底是什么?”这个问题,仍然是各种各样的解读,最近对云原生具体是什么有了点感触,于是写下来分享和探讨下。

我现在认为云原生其实是让众多的公司,通过基于云的产品迅速获得在构建一个现在这个时代的应用(是不是有点像 AWS 一直讲的 Modern Applications)所必需的各种基础能力(如:极强的规模伸缩性、极高的可用性、极低的创新/运营成本、大数据的分析/运营能力等等),而不需要像以前的很多公司,为了具备这些能力,投入巨大,或者用另外一句话说:云原生就是专业的基础能力普惠化,随手可得

当今时代的应用和多年前的应用面临的状况差别太大,这个差异和当今业务面临的激烈竞争和玩法有很大的关系,我以前一直觉得像阿里在发展过程中积累的很多能力,外面很少有公司会需要,就像当年百亿、千亿美金的公司是多么难才出现,但现在看来则完全不一样,所以这也奠定了当今时代的应用在技术层面能力的要求也远不一样,简单说几个点:
  1. 对可用性的要求远高于以前的应用:现在的应用通常一上线对可用性要求就已经不低了,因为一旦出问题就很容易把用户送给竞对;
  2. 对伸缩性的能力要求也远比以前高,主要体现在两个方面:一是团队规模,现在的业务公司很容易迅速发展到百人以上,而百人以上的研发效率如何保持尽量不下降,这对系统的伸缩能力有着很高的要求;二是用户规模,现在众多业务的用户规模可以很快地突破百万、千万规模,这就要求系统必须能根据用户规模快速地伸缩;
  3. 创新和运营的成本必须低:业务竞争无比激烈,快是关键,所以怎么在不需要太大投入的情况下快速上线各种业务,是无比重要的;另一个方面就是运营的成本,这个是和现在应用的用户规模、激烈竞争密切相关的;
  4. 大数据的玩法:现在的很多业务对获客、推荐、搜索等的大数据化要求还是相当高的。
阿里是一家在自身发展过程中,逐步碰到上述的挑战(当年的竞争环境基本还不会要求一个业务上来就把各种能力具备好),但以前也没有云可用,所以在发展过程中不断积累各种能力,现在通过开源、云商业化对外输出这些能力,使得即使到了现在这样的竞争环境下,各种有业务创新想法的同学们,还是可以像当年一样快速上线业务,而不是要先投入巨多力量、花费巨多时间把需要的基础能力打磨出来。

我自己并没有完全经历阿里的发展过程,接下来主要还是简单说下我自己经历的一些。
  1. 在 2007 年,淘宝在基础能力上面临的最大问题是伸缩性,两个现象当时都出现了:用户数量大量增加,加机器已经基本要加到瓶颈了;研发人员大量增长,研发效率下滑非常明显。在这个阶段,淘宝做了一轮非常重要的架构改造,磨练出了例如服务框架、消息中间件、分库分表方案、分布式文件系统、分布式缓存等基础技术产品,结合业务架构的重新设计,很好地解决掉了伸缩性的问题。
  2. 在 2009 年,淘宝面临了可用性问题,经常出各种故障,于是开始积累各种监控、快速恢复、tracing、系统设计里如非关键路径异步化等技能。可用性这块的投入一直在持续,到后来为解决 双11 这种特殊情况的可用性、确定性诉求而创造的全链路压测;通过同城双活、异地多活的多机房体系构建的强容灾能力以及快速恢复能力等;以及在线下场景加入后来面临的不一样的可用性方案等。各种场景的高可用方案的积累,也使得业务的可用性越来越有保障。
  3. 2011 年左右,阿里开始觉得未来在资源投入上的运营成本可能会很夸张,于是在 2011 年开始通过容器化来提升机器使用效率、持续进行成本优化,后来又持续通过云资源弹性来解决 双11 这类型的短时高峰的成本投入问题,通过在线离线混部解决大数据机器投入越来越大、在线机器集群利用率不高产生浪费的问题,经过多年努力,使得业务在高速增长的情况下,机器资源投入上的运营成本还是相对可控的。
如上文所讲,阿里是依靠巨大的人力投入、场景打磨和多年的持续投入才逐渐形成了完备的能力。而现在的业务,则可以用云原生的方式构建,使自身一上来就具备这些能力,至少能够让自己在如今激烈且要求更高的业务竞争环境中,不会在这些基础能力上拖后腿,以此可以花更多的精力、时间、资源在真正的业务创新上。这样具象化的云原生对整个社会的创新还是相当有价值的。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK