分享

AWS 的边界在哪里?

 nzpeach 2019-02-26

出于工作的需求,我会定期学习 AWS,了解其最新的产品与技术的发展。但最近几年来,每次现场或者是通过 Youtube 参加 Re:Invent 时,当大量各个领域的新服务、新功能涌现出来时,都会有种晕眩的感觉,出现越来越多看不懂的服务,近期决定花点时间,系统梳理和学习一下 AWS 近些年推出的一些服务,试图从 AWS 服务背后找到 AWS 发展路线图,试图重新理解和定位 AWS,具体的,能够回答以下几个问题:

AWS 是什么?

AWS 的边界在哪里?

AWS 未来会是怎么样?

为了搞明白 AWS 到底有多少服务,找到了 AWS 布道师 Jerry Hargrove 为 AWS 画了一张元素周期表,截至到 2019 年 2 月 份,一共列举了 171 项服务。在 AWS 官网能看到所有这些服务的详细介绍。

虽然把所有服务都排列上了,但仍然是让人眼花缭乱的。学习过的同学都知道,基本上,每一个服务都是一个世界,每个服务的文档手册,少则十几页,多则上千页,基本上,是看不完的。

花了几周时间,把所有服务几乎都了解或试用了一下,从最近几年推出的近 100 项服务中,挑选出了以下 8 个有代表性的服务,分别是:

  1. AWS Lambda

  2. AWS IoT

  3. Amazon Chime

  4. AWS CodeStar

  5. AWS Global Accelerator

  6. AWS Graviton Processors

  7. AWS Outposts

  8. AWS Ground Station

针对这些服务,简单介绍一下自己理解,试图管中窥豹,找出 AWS 开发和设计这些服务背后的考虑,也希望能发现这些服务对于市场和客户的意义。注意,以下介绍完全代表个人理解,不一定正确。

1. AWS Lambda——开启了无服务器计算时代


在 2014 年的 Re:invent 上,AWS 正式发布了AWS Lambda,全球云计算领域第一款无服务器计算服务,通过 Lambda 服务,也是第一次向世界展现无服务器计算概念。AWS 总是能够引领时代,AWS 从不先讲概念,而是先推出产品,然后告诉世界这个产品背后的创新和概念。

许多人第一次接触云计算时,总是有一个幻想,云计算是不是在云端有一台超大的计算机,满足无限的计算需求。Lambda 的发布满足了这个幻想,只是不是以一台传统服务器的形象,也不是以 PaaS 概念按计算单元分配资源,而是一个全新的设计,事件驱动的函数片断组成的计算模型。其天然的自扩展能力,满足无限量增长的需求。

Lambda 是一款以应用开发者为中心的云计算服务,开发者利用其架构模型和开发范式,无需了解传统服务器软件栈,直接书写业务逻辑即可。从开发者视角来看,Lambda 是一个类似 Tomcat / Apache 一样健壮的运行环境,到最近,Lambda已经能够支持大部分主流开发语言(1)。其开发与运行完全由开发者掌握,几乎不需要额外管理与运维。

到今天, Lambda 产生了巨大的影响,成为最受欢迎的 Serverless 服务,当然 Lambda 也一度让人困惑,没有服务器,庞大的 IT 运维队伍未来干什么呢? (2)

2. AWS IoT——让传统的嵌入式开发成为历史


2015 年发布的 AWS IoT 服务如今成为了 AWS 最炙手可热的服务,如今各大公有云均有 IoT 服务,但 AWS 的有什么不一样呢?

AWS IoT 不仅是一套云端 IoT 数据收集和处理服务,而是涵盖了从终端设备操作系统 FreeRTOS,终端上运行的与云端交互的中间件 Greegrass,到云端设备统一管理与统一数据分析等,拥有全栈 IoT 能力。

值得说的是,AWS IoT 服务让传统的嵌入式开发正式进入历史(3),通过 AWS 提供的跨终端嵌入式操作系统及其云服务通信中间件,完全使用 Javascript 或 Python 就能完成整个设备功能开发和调试,极大了标准化了开发流程,降低了开发成本。让 IoT 设备类开发像 Web 应用开发一样简单。

经常给我们客户的建议是,IoT 世界发展太快,不要自行开发 IoT 基础平台,而是尽快将自己的应用接入像 AWS IoT 大平台,提前看到万物互联的世界。

3. Amazon Chime —— 云原生时代的在线视频会议系统


AWS 2017年初发布的 Chime 服务,一款在线视频会议系统,这让很多人意想不到,这是一款纯粹业务层面上的商业应用,属于一款 SaaS 服务。

这个领域已有前辈 WebEx 和新贵 Zoom,构建全球畅通无阻的视频会议系统是一项比较有挑战的事情,因为视频会议系统建设最大的难点其实是全球基础设施网络的建设,但这个对于 AWS 来说,简直就是顺手的事情,因此,AWS 还开放了 Chime 是如何基于 AWS 来构建的,对于其他视频供会议厂商来说,AWS 亲自给做了一个真实的生产案例。

但这个服务的推出标志着 AWS 不仅仅是基础设施平台,还会是个商业应用平台。

与 Chime 定位类似的服务还有:

  • Amazon WorkMail——企业邮件解决方案;

  • Amazon WorkDocs——企业文档托管服务;

  • Amazon Connect——云呼叫中心;

等等直接服务于企业业务场景的商业应用。虽然现在商业应用还很少,但逐渐地将与微软传统的办公业务将有得一拼。

4. AWS CodeStar——云原生 DevOps 开发栈

图:AWS CodeStar 服务组成

这是 AWS 2017 发布的一个服务,展现了 DevOps 的另一种形态。

传统上,DevOps是指将运维与开发一体化,统一平台,各个团队在同一个平台上实现从开发、构建、测试到发布的整个应用开发和生产闭环。如果在自己的私有云环境下,或者是其他公有云,你首先需要解决的问题是 DevOps 工具选型,以及 DevOps 整个工具链条的整合,以构建完整环境供团队使用。如下图所示:


很多公司在尝试 DevOps 的方向上,把太多精力用在了构建工具平台本身上,上图任何一个工具,不管是开源的,还是商业软件,还是SaaS化工具,都需要花不少时间去学习和研究,一串工具学习下来,半年都过去了,终于搭建好系统,后续还要花大量时间维护每一个工具,而让整个团队都熟悉这套工具逻辑又要花个半年左右时间,近 1 年的时间,最后大家精力都耗在了如何让工具 Work 上了,而没有时间用在 DevOps 的本质——协作文化构建上,结果舍本逐末,最后不了了之。

AWS 并没有像其他公有云一样把以上工具链做自动化构建,然后交给用户自己去学习,而是重新开发了极简的 Cloud Native 的 DevOps 工具栈:CodeCommit、CodeBuild, CodeDeploy, CodePipeline,Cloud9等工具,产品逻辑清新、好用。熟悉传统 DevOps 工具的同学一定能理解为什么 AWS 在这里选择自己重新造轮子。这些轮子可单独组合使用,也可以通过 CodeStar 自动一键整合,十分钟左右时间,完成一套高度整合好了的 DevOps 平台。几分钟之内,可以让团队开始实践如何基于 DevOps 平台来协作。

AWS CodeStar 为我们提供了一个 SaaS 模式的 DevOps 集成环境,不管业务有没有部署在 AWS上,都值得去尝试一下,学习学习 AWS 如何理解 DevOps,最快速度统一团队对 DevOps 的共识。

5. AWS Global Accelerator —— 下一代全球网络运营商


图:AWS 全球骨干网络

这是2018 年 Re:invent 上发布的一项重磅服务。

AWS 最引引以为豪的是其遍布全球基础设施网络,应当说其网络质量、网络使用便利程度及全球覆盖能力,超过任何一个国家的运营商。

由于全球各个国家网络运营商的政策、网络状况的差异性,即便对于一家大型全球互联网公司要想自建一张全球覆盖的优质网络,是一件极其复杂、成本不可控的一件事。

现在 AWS 把过去十几年时间建设的全球网络基础设施向普通用户开放。最难得的是,之前只有那些有钱的大公司才能建得起 BGP Anycast 网络,AWS也开放 Anycast IP 供普通用户使用了,可以实现全球不同 Region 业务负载均衡和高可用。即使在单一 AWS Region 部署的业务,通过 Global Accelerator 也能够全球高速访问。

可能看到,海外市场各类 SD-WAN 产品将面临挑战,只要通过 AWS 部署业务,支持全球用户稳定、高速互联不再是问题。还可以基于 Global Accelerator,低成本推出支持 Anycast 的 DNS 服务,自建 DNS 服务的用户将受益。

在这个服务发布之前,通过 VPC Peering,也能利用其全球基础设施网络,只是略微复杂一些。(5)

6. AWS Graviton Processors—— AWS 第一款 ARM EC2 服务


这是2018 年 Re:invent 上发布的最引入瞩目的服务了。在2018 年,AWS 全面升级了其虚拟化基础架构,称为Nitro System (6),这是 AWS 自研的、硬件支持的全新虚拟化架构,摈弃了传统的 XEN/KVM 开源虚拟化架构,自带硬件加速和硬件虚拟化能力,使计算、网络、存储等虚拟化性能大幅提升。同时有了 Nitro 新架构的加持,AWS 如虎添翼,终于可以不受传统架构的约束和限制,极大提升了 AWS 推出新型配置的 EC2 的速度。

这次推出基于 ARM 核心的 EC2 就是基于 Nitro System 架构,是 AWS 首款 ARM 服务器,此举意义重大。AWS 为此准备了差不多 4 年时间,2015 年收购了一家以色列芯片公司Annapurna Labs,这家公司最开始的使命就是为云时代研发最适合的芯片,可以称为云原生芯片,到现在终于推出了首款 ARM 芯片 Graviton。此举意义重大,虽然 ARM 芯片在移动设备领域占有达 99%的市场份额,但在数据中心领域几乎没有份额。传统数据中心部署 ARM 服务器确实一直以来性价比和软硬件兼容等方面还无法与 Intel 竞争,但在云时代,情况完全不同,随着 Serverless,IoT 等上层云服务的发展,客户再不也不需要一台 EC2上编译和部署软件,对底层服务器用的是什么指令集的 CPU完全不关心。凭借 AWS 的迭代和创新能力,不用几年,ARM 服务器芯片逐步会成为云时代重要的一支。

7. AWS Outposts——私有云的终结


私有云,这么多年发展过去了,到目前为止,这个市场仍然处于一个没有标准,没有主导厂商,技术标准不断在变化的时候。更关键的是,私有云领域玩家众多,不管是厂商、客户、中间商,还是集成高,彼此均没有明确的共识,这领域也没有老大哥带路,没了领军人,一众玩家也不知道跟谁靠齐,让这个市场一直处于军阀混战状态。

公有云老大哥 AWS 实在看不下去,决定拯救处于水深火热中的私有云客户,推出了 面向企业私有环境 ( On-Premise ) 的,以通用服务器硬件为载体的 AWS Outposts。

AWS 推出其私有云产品一点都不奇怪,其实在此之前,已经有多个产品已经是客户私有硬件 公有云混合架构了。比如:

  • IoT Greegrass 就支持在本地 IoT 设备运行像 Lambda 这类 AWS 原生服务,实现边缘计算;

  • AWS Elemental 媒资类服务,AWS 就推出了本地编解码硬件,方便本地数据传统同时连接上传到云端;

  • 存储方面有 Snowball 系列硬件盒子,支持离线数据传输。

只是之前推出的都是专业领域的硬件不品,而这次的 Outposts 是通用计算服务。值得注意的是,按官方介绍,AWS Outposts 将是 fully managed,完全托管模式,由 AWS 远程做维护、升级和管理。可以理解成 AWS 公有云在客户机房的本地节点。本质是用公有云的服务模式做私有云,这是与传统私有云厂商方案是完全不同的。

Outposts 对于 AWS 的意义来说,其实是弥补公有云最后一公里的覆盖,包括未来边缘计算的需求。在 AWS 的设计者眼中,用户没有哪一块业务是 AWS 无法承载的。

8. AWS Ground Station——卫星地面站即服务


2018 Re:invent 上最 Cool 的服务。在此之前,并没有机会了解卫星通信在此之前是一个非常耗时、繁琐的事情。AWS 依托遍布全球数据中心基础设施,在自己的 Region 附近建设卫星通信站,随 AWS Region 全球分布,AWS 卫星通讯站能够分布式地与地上卫星通讯。整个过程简化,通过 Web 服务的方式让用于与自己的卫星交互,借助 AWS 其他服务,再顺手并解决卫星数据存储和处理分析的问题。

这个服务的推出突破了人们对云服务的想像,连卫星通讯都能够 as a Service,还有什么不可以成为云服务?

总结

一千个人眼中有一千个哈姆雷特,AWS 也是这样,如果让每一个人挑选出自己认为最代表 AWS 未来的 8 个服务,相信会有完全不同的组合。同一个人不同时间可能也会有不同看法。篇幅有限,只能非常简要地介绍,但已经能够窥见 AWS 的定位:

AWS不是一个IT 平台,也不是一个一般大家理解的云平台 ,经过十多年的发展,AWS 成为一个历史上前所未有的、集大成的科技创新平台。

从过去 AWS 的发展趋势来看,AWS 没有边界,从芯片到商业应用,只要客户有需求没被解决,只要可以通过 Web Services 形式交付的,AWS 上都会推出。

如果问未来 AWS 还会推出哪些新服务,只要看看身边还有哪些没被解决的挑战,至少能看到以下三个趋势:

第一、AWS 数据中心使用的硬件将全部为云而重构,变成 AWS Cloud Native 硬件。多年以前,AWS 有些服务还是可以复制和模仿的,通过购买商业硬件 开源软件,而现在不行了。比如,你无法复制 Nitro,因为它是 AWS 自己的软硬件一体化的创新。市场是短期内不会出现相应的复制品,即使出现,也不会适合传统数据中心市场;

第二、商业应用会越来越多,逐步覆盖企业服务全场景。现在能通过 AWS 开视频会议(Amazon Chime)、收发邮件(Amazon WorkMail)、做文档管理(Amazon WorkDocs)、客服管理(Amazon Connect),这些还都是轻量级企业应用,相信重量级企业核心业务平台,如CRM,ERP应该也在路上了。只是应该会有一定的差异化;

第三、应用开发者将成为 AWS 平台上的第一等公民。这里的开发者是只客户核心业务逻辑和应用的开发者,不是指 IT 治理开发或运维开发,因为他们的问题在过去 10 多年时间,他们的核心问题已经解决得差不多了,AWS现在更多思考的是如何直接服务于应用开发,为企业带来直接价值。比如,像 Lambda,CodeStar等服务都是纯粹为开发者服务的。

对我们的客户来讲,当你有任何业务创新的想法时,先看看 AWS 已经为了做了哪些工作,然后站在 AWS 巨人的肩膀上进行创新,专注自己的核心业务,避免重复去造 AWS 已经为你准备好的轮子。

AWS 有个特点,新服务推出时从来都很低调,慢慢对世界施加影响,往往在你还不经意的时候,AWS 这些服务已经成为主流和事实标准。

参考引用:

  1. https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/

  2. https://www./blog/serverless-ops-what-do-we-do-when-the-server-goes-away

  3. https:///blog/iot-insights-part-1-a-story-of-embedded-software-in-the-iot-world/

  4. https://www./AmazonWebServices/how-amazon-chime-was-built-on-aws-ent303-atlanta-aws-summit

  5. https://aws.amazon.com/answers/networking/aws-multiple-region-multi-vpc-connectivity/

  6. https://perspectives./2019/02/aws-nitro-system/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多