ITPub博客

首页 > 云计算 > 公有云实践 > 在AWS上的架构部署与设计

在AWS上的架构部署与设计

原创 公有云实践 作者:李代丽 时间:2020-09-21 15:50:00 0 删除 编辑

ABC是企业信息化发展的三驾马车。AB很容易理解:A是人工智能;B就是大数据;C就是Cloud云。CIO经常会问三个云计算问题,比如:云是什么?云能解决什么问题?为什么要使用云?云计算是大数据和人工智能的基础,它是统一、整体的一个技术平台。云有一个非常重要的特性,它更具弹性,能按需分配。也就是说,如果你用了云之后,就能杜绝重复投资、独立建设,能最大化节省成本。

业务需求驱动下的IT架构发展趋势

首先,我们来看一下业务需求驱动下的IT架构发展趋势。如果你现有的技术架构已经无法满足业务快速的增长,无法快速响应新增业务系统和现有一系统平滑过度,基础设施无法顺利扩容,我们就要考虑基础架构的完善。最早,传统架构是以服务器为中心,比如业务系统要上线,我可能就要买一套服务器来部署,满足业务需求。

▲IT架构发展趋势

在2000年左右的时候,基本上用传统架构。但是,有个很大的问题,当我的业务量大了之后,要扩容的话,只能通过增加机器来实现水平、垂直扩容,比如说要加CPU、加内存。如果再大的话,我机器水平垂直扩展的话,可能就会有问题,扩不上去了。如果应用量比较小,我上线一个系统,就买一台服务器,价格比较昂贵,造成了资源浪费。

在云的1.0版本里,主要用虚拟化,这种服务模式是在2005年、2006年左右兴起的,比较有代表的厂商当属VMware。虚拟化的服务形式是,资源可以复用,什么意思呢?就是我买一台服务器,如果业务量不大,可以同时部署两个、三个业务,让资源实现复用,这样能降低成本,同时也能提升运维能力,因为用户可以统一在VMware上面去操作。

再往后,大概是2012、2013年的时候,兴起了OpenStack这种私有云以及公有云。Cloud2.0的时候,是以管理为中心,基于IaaS云平台,好处是多租户、自服务、审批工单、统一管理、自动化等等,大大提高了我们的管理和运维效率。

现在,已经发展到Cloud3.0时代,这个时代主要以业务为中心,在云的IaaS层要发展Pass。所以,现在云做得比较好的平台,他的Pass平台能力也比较好,能够融合Pass层。Pass又分iPaaS和APaaS,和大数据平台、数据库平台、DevOps比较靠近的就是iPaaS;和业务中台、数据中台比较靠近的叫做ApaaS。创新业务、快速开发、全自动化,这是大家为什么都在做Pass的根本原因。从实际业务场景来看,比如制造业,对于云平台的能力有很多特定要求。

▲制造业对于云的能力要求

制造业分三个阶段,研发、制造、营销。我们以用户为中心,围绕着需求把三个阶段推到用户的价值最大化。上层的业务打通,要实现底层数据的互联互通,底层需要一个强大的平台支撑,云天生就有这么好的能力。制造业的研发、制造、营销,这三个环节,每个环节都不一样,对整个IT架构的需求也不一样。

以研发为例,制造业发展最快的一块就是研发,如果把研发搬到云的环境上面去,云平台要很好的支撑业务的话,需要用到高性能计算HPC,要按需提供不同的规模、不同类型的计算资源、计算量,而云能快速交付出来,所以把业务搬到云上是一件可能的事情。在整个研发领域,不同的项目按不同用户需求、资源这种逻辑隔离,甚至是物理隔离,实际上就用到了多租户概念。

还有制造,最核心的内容是什么?要做好数据采集,要把人、设备、机器、产品、流程串起来,做好数据采集,做好数据分析,做好数据决策,最后通过一个平台执行下去,还能不断的去修正它。比如说制造行业要做数据采集、数据分析、要做边缘计算、雾计算,就是IOT的数据,采集端处理,计算的需求不同,时间的要求不同,可以按地域分成边缘计算,向区域的雾计算,再往后是云计算的数据中心平台。

制造业还有什么要求呢?我们知道制造业的工厂遍布全球各地,云平台要实现分布式的部署,集中式的管理,要分发下去,就需要云平台。要具备这种跨地区的、跨地域的部署能力,跨资源调度能力,这是云平台的一个共性需求。

另外,还有一个混合云需求,比如一家全球工厂,它的混合云不但做好管控,还要通过混合云打通私有云和公有云,把网络打通。借助容器的技术,K8S的调度技术,容器对环境的无感知,通用了这种Pass类的服务能力,工业类这种 Pass的快速交付能力,这是制造。

营销,很多toB、toC的业务,像互联网时代的电商类,用户请求放在公有云,然后把电商所获取的数据加工处理后,放到私有云,做好这种管控资源的打通。因为公有云有比较好的带宽,更卓越的SDN设备,有很好的加速促销环节。我有互联网的电商应用,移动端的业务要部署到我的云端上去,所以云平台天生就有这么好的能力。营销环节也有边缘计算、雾计算,比如说我买一个智能设备,智能设备到底在运行一个什么状态?智能设备的生命周期是什么?用户的体验是什么?最终要返回到我们的研发环节,最终我们能制造出更好的产品设备。大数据分析服务,通过终端或者大量的数据做算法、做分析,然后再去做售后服务,不断提高用户体验。

那么,如何打通工业云全链路?我们很难有一个平台把工业云所有层面全部打通。所以,工业云和传统云还是不太一样。如果一个技术,满足我80%的需求,另外20%要通过合作伙伴生态很好的维护起来,对用户来说才是有帮助的。那么,什么技术是最好的技术呢?很简单,能帮我解决问题的技术。实际上,智能制造的核心内涵是:感知和收集,决策和控制,执行和修正,形成智能化的产品、装备、车间、工厂,类似于IT服务管理领域的接、管、控。

云以及AWS发展历程

在了解什么是云之前,我们先想下什么是操作系统?操作系统能做什么?操作系统是不是驱动底层的CPU、内存、磁盘等硬件?给你上面部署的应用提供硬件资源?AWS云服务有点像操作系统,你要做什么?就去驱动它,底层各种应用资源为你所用。所以,亚马逊说自己的云服务就是一套 Internet云操作系统。

那么,Amazon架构需求的是怎样的?2000年的时候,Amazon的新购物网站的服务力求变得高可用、安全、稳定、可靠并能无限扩展架构。Amazon云为什么叫AWS?其实A、W、S这三个字母代表不同的字义:A是Amazon;W是Web;S是service。AWS代表所有服务都通过API调用,通过网络,用户就能获得所有资源。Amazon以前是电商,现在也是电商,只是我们今天讨论的是它的云服务。

Amazon之所以推出云,是因为自己遇到了一些问题。电商网站的业务发展非常快,所以电子商务工具也是混乱不堪。比如:应用程序和架构构建没有正确的规划,服务不得不彼此分离等。

其实,AWS一开始也没有技术特别强的人,只是把所有的需求和服务都搭起来。现在,因为踩了很多的坑,终于找到了比较行之有效的方法,才有了云计算。之前也是不断买服务器,不断搭建系统,然后各种系统之前没办法相互调用。尤其规模大了以后,问题越来越多,怎么解决呢?那就是把所有的服务变成一套技术相连的API,然后服务之间可以相互调用。AWS上面现在有很多服务,每个服务只干一件事情,比如EC2是做计算的,Lambda也是做计算的,然后RDS是数据库, 这些服务之间还可以轻松地调用。做软件的人都知道,一定要遵循一个核心设计理念,叫做松耦合,AWS的各种服务之间也是松耦合状态。

另外,很多人对SOA应该也非常了解,叫做面向服务的架构,其实和云的理念也相同。所以,云并不是什么新事物,十几年前就提出来了。比如:IBM构建一个系统一定要有中间件,遵循SOA的设计架构。只不过,亚马逊把SOA理念贯穿得非常彻底,推出了云。

有句话说:IT领域每15年就有一次变革,回过头来看,确实如此。从小型机到虚拟化,再到云计算,企业信息化的底层架构在不断演化。AWS从2006年开始就在卖云服务, 第一个服务是S3 (Simple Storage Service),简单的存储服务。S3是对象存储,区别于块存储。我们每个人都有笔记本电脑,上面会有一块硬盘,叫“块存储”。与块存储不同的是,对象存储就是网盘,比如说百度云盘,你放在网盘上的每一个文件就是对象,并且可以通过全球唯一的URL能反应到,就是用HTTP就能反应到它。

S3是如何诞生的呢?是因为电商要扩展,比如从欧洲要扩展到非洲,但非洲基础设施环境非常不好,总是停电、丢数据,急需要一个数据不丢的应用来存储,S3顺势而生。S3持久性很高,放进去的数据有11个9的持久性。

云的设计准则

那么,什么是云?不同厂商有不同定义!

▲云计算的主要特征

大体来看,云有三个特性:

第一个,可编程的资源。它是一种可编程的云资源的管理机制,由网络资源、计算资源、存储资源和可编程的管理单元构成。通过采用这种可编程的云资源的管理模型,和和可编程的这种资源管理规则,实现云资源的这种高效管理。

第二,这种动态能力。这些资源是动态获取的,我需要云资源的时候就拿,不需要的时候就扔掉。所以,计算无处不在,很方便,只要有网络的地方,就随时可以获取到资源。就像家里的水跟电一样,水龙头一开水就来了。

第三,按使用量付费。是一种先使用后付费的这种计算方式,通过按量付费,你可以按需开通和释放资源,无需提前购买大量资源,成本比传统服务模式便宜很多。

另外,云计算有六大优势:

第一,将资本支出变成可变支出。什么是资本支出?其实很简单,就是你借一个数据中心叫资本支出;可变支出,其实有点难理解,我们叫运营支出。比如: 公司每个月要交水电费,就是运营支出,交给AWS的费用同样是运营支出,不要一下子把钱全部砸到数据中心。尤其是初创公司,拿了风投的钱,风投肯定不愿意投重资产。如果用AWS就不会有这样的问题,哪天不干了,可以快速收回成本。当然,如果你业务爆发很快,你可以考虑自己建数据中心。

第二,是规模效应。

第三,是停止猜测容量。换言之,你可以认为AWS的资源取之不尽。

第四,提高速度和敏捷性。这一概念如何理解?如果我们在数据中心启动一个虚拟虚拟机,在AWS上也启动一个虚拟虚拟机,到底谁更快?可能还是数据中心本地快。比如:你在AWS上启动EC2, 可能至少要5分钟, 才能反应到实例。但是,你在本地,如果你的基础设施比较好,一分钟或者半分钟,虚拟机就起来了。怎么能体现出你的速度和敏捷性呢?不同的是AWS环境中的实例,有防火墙,有公网IP。如果你要做数据库,直接启动RDS;如果你要有一个数据库缓存的话,那就启动Redis;如果你需要大数据的话,那就启动EMR。你要的所有资源。在几分钟之内全部到位。在传统数据中心要实现这一点,不是不可能,但是有难度,你要投入很多人力、物力、财力才能达到这种效果。

第五,专注于重要工作。AWS上有很多托管服务,比如RDS关系型数据库,很多常规的功能都具备,DBA不用自己搭建底层架构,部署上层应用,还要维护系统,只专注业务本身。

第六,数分钟内实现全球化部署,主要体现在AWS的全球化资源部署能力。

架构完善的框架

问题是,我们在架构上要遵循一些什么原则?或者比如说我是甲方,乙方帮我做方案,我要看一下是不是满足,做的是不是达到安全性、可靠性、成本优化、性能效率、卓越运维这几个要求。

在安全性上,身份机制怎么做,如何实现可追溯性,如何在所有层确保安全性,风险评估与缓解策略怎样操作?所有能力AWS都具备。

什么是可靠性?我们经常听到公有云厂商断线的消息,包括AWS在北京的服务曾经也挂过。按道理说,AWS的数据中心有两个可用区,它的风火水电都是独立供应,有独立的网络,一个挖掘机下去只会挖断一个可用区,为什么两个可用区都宕机了?这是因为在架构设计的时候,埋线的时候,把两根线绕了一圈,然后又埋到另外一个沟里去了。所以,一出现问题,两个可用区都不能工作了。

成本优化很好理解,就是消除一些不必要的支出。比如:有些服务我们用EC2跑,但是一天的访问很少,就几个人,这时我们就可以换成Lambda。我也可以考虑使用托管,虽然托管的费用很高,但是我可以把运维人员的成本省下去,要看你站在什么角度考虑问题。

卓越的运维,是指通过一些专业工具来帮你做一些自动化运维。 现在大家都在讲DevOps, DevOps是常见的开发、部署、运维模式,所以需要专业的工具支撑。AWS就有全部的应用工具,可以支撑用户的DevOps。

性能效率,EC2有很多资源类型, 比如:大家一开始用T系列,但如果我今天要做测试,承载量不大,我就用 t系列;如果很吃CPU,我就用c系列。类似这样,普及先进技术。当然,从应用表现来看,S3也不算什么新技术,实现起来非常简单。但你自己搭的应用要达到像 S3一样高可靠、高可用不容易。包括RDS关系型数据库,你自己要搭起来也能用,但是你要保证它的可靠性、信誉,会有一些麻烦。所以,我们要利用AWS上的一些服务来实现。

AWS全球基础设施

前文说道,AWS在全球有很多资源可以用,包括有些外企要出海,比如像吉利这样的公司,全球有很多工厂、销售点等等,AWS在全球有各种各样相对应的资源。

AWS在全球有很多数据中心,比如在北京,每个数据中心都有几千或上万台服务器,而且资源都是在线的,没有所谓的冷备,因为冷备关了之后,这个服务就不能用了。数据中心里面有很多种网络设备是AWS自己定制的,来自多家ODM原厂设计;AWS的服务器是由戴尔以及其他厂商代工;交换机是自己设计的;自定义网络协议堆栈;还有芯片,AWS全部托管给第三方制造。

平常,我们建数据中心可能看不到可用区,但肯定会看到可用性。可用区是最小单元,你在建EC2的时候就能看到:A可用区、B可用区、C可用区。那么,什么是可用区?它包括一个或多个数据中心,两个不同的可用区之间,就是一个容灾的距离。两个可用区之间,一般最佳是40公里,不能超过100公里。

AWS在全球由18个区域,中国和美国比较大,中国有两个区域,在北京和宁夏都由两个或者更多可用区组成,这些区域各自独立,但在北京有两个区域是为故障隔离而设计,它们相差几十公里。中国区域和海外区域是隔离状态,比如你注册一个海外的账户,按理说你全球都可以用,但实际上他把中国这两个区域排除在外。就是说,AWS在中国你得单独注册,只能看到北京和宁夏可以用。你即使想使用海外的资源,又想使用中国的资源,你需要两个账户,而且中国账户要用企业账户才能注册,个人账户不行,个人账户可以注册海外的。

你要实现跨区域的数据复制,比如我要从东京把数据复制到新加坡,可不可以?当然可以!区域之间是用AWS这种骨干网络相互通信。

为什么强调区域?因为AWS客户多,需求多,最终产生的资源多,所以新服务一定在需求多的地方出现。

除了18个区域,还有很多边缘站点,是用来跑IOT物联网。比如:新疆要访问北京的资源,会把一些静态的资源推送到新疆用户最近的地方。所以,这些服务在边缘站点上面,跑跟终端用户最近距离的服务,包括CDN、IOT、DNS以及防火墙等等。

大型架构设计

如果是大型用户场景,那就要从S3开始部署,然后涉及到Route 53,还有和网络相关的内容分发CDN(CloudFront),主要放静态内容。接下来是互联网网关,负载均衡(APPlication Load Balancer),自动扩展(Auto Scaling),NAT网关,EC2、缓存(Memcached)、数据库RDS等等。

很多人可能会说,你讲的内容是不是都是公有云服务。实际上,AWS的应用环境,很多是都是混合云的统一管理,混合云管理已是一种常态。比如:我既有AWS的云,又有阿里云,然后还有私有云,这么多种云都有不同的计费,不同的资源和很多账户,操作起来比较麻烦。怎么办呢?我会在很多云之上部署混合云,来管理下面这些云,统一去申请资源,统计计费,统一进行自动化运维。

最后,到底哪些客户在使用云?

有这么几种:

一种是创业公司,为了省钱,就在云上买一个服务器资源,部署一个虚机。比如:公司比较简单,你一开始就部署一个静态环境的话,只要用对象存储,用S3就可以了。费用很便宜,一个月存储一个G的数据,只要0.1到0.17元。

第二种是电商类企业,经常要搞活动,需要弹性扩展能力,等活动过后可以对资源进行收缩。

第三种是政企客户,需要通过现代化手段实现惠民服务。

第四类是传统行业,要打通烟囱式的孤岛,通过云方式连接数据,实现底层的互联互通。

总之,上云已是主流趋势,各行各业都在把传统的数据中心和云连接。

讲师简介:

郭一军,云贝学院院长,云计算、数据库、大数据知名讲师,云贝学院创始人,ITPUB管理版资深版主,Oracle MySQL认证讲师,腾讯云TDSQL认证讲师,拥有AWS云计算解决方案高级架构师SAP认证,阿里云云计算高级架构师ACE认证, Oracle Certified Master OCM 认证等。曾就职于连连支付、唯品会、吉利汽车研究院,参与设计巨头型互联网公司数据架构,对超高并发、极快性能数据架构有丰富经验。并主导吉利超大规模制造企业数据架构与云架构。10年培训授课经验,开创了国内在线Oracle DSI(Data Server Internals)系列课程的先河,MySQL系列课程,云计算架构与大数据管理课程。曾给中国金融期货交易中心、浙江电力、安徽电力、浙江大学、杭州邮储银行、安徽电信、浙江电信、嘉兴烟草等企业开展内训,结合多年企业界实践与教学经验,自创独郭九剑教学法,融合算力、数据、算法于一体,所培训学员遍布国内各个企业,并在企业内负责重要的数据相关工作,已培训学员超5000+,深受学员好评。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31547898/viewspace-2722899/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-07-30

  • 博文量
    139
  • 访问量
    218540