加入收藏 | 设为首页 | 会员中心 | 我要投稿 通辽站长网 (https://www.0475zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

从繁到简,云计算技术演进的底层逻辑

发布时间:2022-12-09 23:33:41 所属栏目:云计算 来源:转载
导读: 解决问题时我们通常倾向于选择方法更简单的那个,因为简单意味着可靠。这和禅宗的理念一致:简单的优于复杂的,幽静的优于喧闹的,轻巧的优于笨重的,稀少的优于繁杂的。
其实,计算机技术

解决问题时我们通常倾向于选择方法更简单的那个,因为简单意味着可靠。这和禅宗的理念一致:简单的优于复杂的,幽静的优于喧闹的,轻巧的优于笨重的,稀少的优于繁杂的。

其实,计算机技术的发展也是追求简单的过程,这种简单的表现之一就是抽象,通过抽象达到简单的目的,从而推动技术的普及和普惠。以计算机编程语言的演进为例,从最早的二进制机器语言、到汇编语言、再到能为开发者提供更高效率的C、Go等各种高级编程语言以及各类算法的出现,正是一个从繁到简、从笨重到轻巧不断抽象的过程。

不止是编程语言,云计算技术的演进也是一个对复杂、繁琐、笨重的IT基础设施不断抽象、从繁到简的过程。比如,把计算资源抽象以API的方式交付,我们可以随时随地拥有计算能力;通过对物理资源的抽象,我们可以用基础设施即代码的方式来管理云资源。

在日前举行的亚马逊云科技中国峰会DEV DAY大会上,亚马逊云科技大中华区解决方案架构部总监代闻给大家诠释了亚马逊云科技是如何基于不断抽象的逻辑推动云计算技术进化的。

云计算技术发展_山西 云计算 发展_云计算发展

01 更高层次的抽象,更简单的部署

在云计算之前,计算资源是与数据中心高度绑定的,也就是说如果需要计算能力,企业需要有自己的服务器、网络、存储设备以及数据中心基础设施,直到2006年亚马逊云科技的第一款云服务Amazon S3的出现,才打破了人们的这一认知,亚马逊云科技把存储能力以API的方式提供给开发者,从此开启了一个新世界。

此后亚马逊云科技一直在丰富云服务种类,不断将计算、存储、网络和中间件抽象成服务,到目前为止已经有超过200大类至广至深的云服务,同时,也在不断对云资源进行更高层次的抽象,让应用程序逐渐减少对基础设施的感知和适配。

众所周知,云计算是从虚拟机开始起步的,但人们对此并不满足,后来有了容器。容器相比虚拟机更轻量,抽象层次更高,启动更快,能给客户带来更大的灵活性,很快便流行开来。随着容器流行,亚马逊云科技于2014年推出了自己的容器服务Amazon ECK,到2018年Kubernetes成为事实标准后,亚马逊云科技又推出基于Kubernetes的容器服务Amazon EKS。

山西 云计算 发展_云计算技术发展_云计算发展

而亚马逊云科技对无服务器计算的创新更能凸显其远见。相比容器和虚拟机,无服务器计算让开发者完全不用关心运行环境,完全从资源的维护和调度中解脱出来。亚马逊云科技第一个正式的无服务器计算服务Amazon Lambda于2014年11月底发布,2015 年正式商用,灵活性、弹性、成本节省都非常显著,而且最大限度地减少了繁琐、复杂的底层适配,充分展示了云原生的技术之美。

7年多过去了,今天Serverless已经是大家公认的云原生技术发展方向,各云服务商纷纷跟进,推出了自己的Serverless服务。

代闻介绍,亚马逊云科技的无服务器计算主要在三个方面投入:首先,作为核心服务,Amazon Lambda的功能和性能会不断增强,从底层计算平台的优化到更灵活的用户资源分配,从开发环境优化到部署方式简化。Amazon Lambda的优良性能和功能现在是业界标杆;第二,亚马逊云科技在内部推动Amazon Lambda与其他服务集成,构成无服务时代新的应用范式,比如面向容器的Amazon Fargate就是无服务器计算与容器服务的结合;第三,已有服务,如安全服务Amazon IAM、文件存储服务Amazon EFS等不断演进,增强对以Amazon Lambda 为代表的无服务器计算服务的支持,让无服务器计算的架构更安全、更方便地实现。

02 对云资源持续抽象,加速运维自动化

实际上,亚马逊云科技对云技术的抽象过程不止体现对云上计算环境方面,也体现在方便云资源的管理上。

“针对云上计算环境的抽象和云上资源的抽象,亚马逊云科技分别推出了两类对应的代码抽象:一类是应用代码(Application Code),一类是管理代码(Infrastructure as Code)。”代闻表示。

代闻介绍,虽然亚马逊云科技让开发者能使用容器、Serverless来对计算环境进行抽象,从而简化应用的部署,但是运维人员依然需要管理数据库、大数据、机器学习、安全等诸多服务类别。为了解决资源生命周期各个环节的自动化,亚马逊云科技不断提高管理代码的抽象程度,以加速运维自动化,由此也推动了Infrastructure as Code的流行。

亚马逊云科技先于2011年推出Amazon CloudFormation,开始支持客户用申明式的JSON代码来描述云上的资源,后来又增加了对YAML格式的支持,再后来又发布了CLI和SDK,以进一步对资源的管理进行抽象,方便管理。

山西 云计算 发展_云计算发展_云计算技术发展

2019年亚马逊云科技发布的Cloud Development Kit(CDK)是其在资源管理上的一个重大进步。借助它开发者不仅可以使用熟悉的编程语言,而且可以使用命令式编程的方式编写管理代码,CDK 能自动把代码转化为Amazon CloudForamtion去执行。目前,CDK 支持的语言有JavaScript、 TypeScript、Python、Java、C#和 Go 语言,自此对于云资源管理的编程友好度达到了新的高度。

“这是不断抽象的成就,是技术之美在云资源管理旅程中的最好体现,是抽象成就了技术之美。”代闻说。

另一方面,亚马逊云科技还让开发者能以友好、灵活的方式管理第三方资源。去年,亚马逊云科技重磅发布Cloud Control API,可以让开发者采用自定义 API 的方式,灵活管理亚马逊云科技和合作伙伴的第三方服务。另外,去年亚马逊云科技还发布了开源社区 Construct Hub,让大家可以自由交流云资源管理的代码。

03 技术之美成就自由构建

《计算机程序设计艺术》一书的作者Donald E. Knuth曾在接受一次采访时表示,计算机编程是一门艺术,一个潜意识将自己视为艺术家的程序员会喜欢它所做的事情,并且会做得更好。

亚马逊云科技深以为然,其一方面致力于优化和改造自己的应用架构,以提供更可靠和性能更佳的服务云计算技术发展,同时还给予企业开发人员充分的自由,并帮助他们编写出更为优雅和艺术的程序,以体现技术之美。

代闻表示,在构建应用程序的过程中技术之美体现在以下三个方面:

第一,架构典范之美。亚马逊对应用架构有第一手的实践经验。亚马逊电商2001年前采用的是单体架构,从2002年开始亚马逊着手微服务化改造和持续的解耦以实现业务敏捷,如今已经成为微服务架构的典范。到2020年亚马逊电商内部已经有10万多个微服务在运行。

在亚马逊云科技2021 re:Invent全球大会上,亚马逊CTO Werner Vogels对微服务和API设计曾有一个经典的总结,包括:API 永远存在;永远不要破坏向后兼容性;从客户场景出发,逆向工作;创建具有显式有据可查故障模式的 API;创建服务于明确目标的自描述 API;不惜一切代价避免泄露实现细节。这些都是亚马逊云科技自己的宝贵经验总结。

第二,组件抽象之美。云原生架构能充分利用按需交付、全球部署、弹性和更高级别的云服务,大大提高了开发人员的工作效率、业务敏捷性、可扩展性、可用性、资源利用率和成本优化。亚马逊云科技在虚拟机、容器、Serverless三个层面都能提供对云原生架构的支持,让开发者不仅可以选择自己的应用代码运行环境的抽象层次,而且可以根据业务场景选择需要调用的云资源的抽象层次。

第三,流程灵动之美。有了好的架构、适合的组件之后,要让应用顺利落地、并保持持久生命力,灵动的开发流程不可或缺。亚马逊云科技为此提供了一系列的服务和工具,让开发者在构建、治理、迭代三个阶段顺利实现云原生应用落地:在构建阶段,可以快速搭建和验证架构,快速交付;在治理阶段,可以保持良好的可观测性,方便地管理数据和应用安全策略;在应用落地、进入到持续迭代阶段,可以实现自动化部署,更多地实现组件服务化、运维自动化和智能化。

“无论是推动计算环境不断抽象的应用代码,还是推动资源管理不断抽象的管理代码,他们都出之开发者的双手、追求技术之美的双眼和持续的抽象思维,可以说是抽象成就了技术之美,而技术之美又成就了应用程序的自由构建。”代闻说。

(编辑:通辽站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!