1、在AWS上的架构部署与设计
大家好,今天我给大家分享---在AWS上的架构部署与设计。
2、自我介绍
首先我来做个简单的自我介绍,我现在在做贝学院课程的研发和授课,主要做云计算、大数据、数据库培训。之前我是Oracle DBA,后来MySQL很火,那我又转向MySQL DBA,后来有幸接触到了大型亿级的基础架构云计算项目,主要服务于智能驾驶的项目,在私有云上架构、部署资源,主要做智能能驾驶 3.0/4.0战略要求的算法场景仿真测试、深度学习模型训练收集的海量数据存储需求。要实现全自动泊车、最后一公里无人驾驶这两个场景的远程实时监控。
3、ABC是企业信息化发展的三回马车
ABC是企业信息化发展的三回马车。那AB很容易理解,A就是AI,人工智能,B就是Big Data大数据。那么C是Cloud,云 。CIO经常问的三个云计算问题:云是什么?云解决什么问题?为什么要云计算?云计算是大数据和人工智能的基础,它是统一的、整体的基础平台,它的特性是弹性、按需分配,能杜绝重复投资、独立建设、节省成本。
4、业务需求驱动下的IT架构发展趋势
业务需求驱动下的IT架构发展趋势,如果现有技术架构已经无法满足业务快速的增长,无法快速响应新增业务系统和现有系统平滑的基础设施扩容。那我们是否要考虑上云。
传统架构以服务器为中心,我业务要上线,我就买一套服务器部署,能满足需求,但这个架构有个很大问题:业务量大了满足不了,业务量大小了浪费资源。
5、从业务需求出发看制造业对于云平台的能力要求
那么我们再来看一个实际的场景,从业务需求出发看制造业对于云平台的能力要求:
智能制造的三个阶段:研发、制造、营销。以用户为中心围绕着需求把这三个阶段推到用户的价值最大,上层的业务打通,实现底层数据的互连互通,底下需要有一个强大的平台支撑,云天生就有这么好的能力。
如果要从这三个环节很好的支撑,对云平台有什么要求,如果我把制造业简单的分为研发、制造、营销,这三个环节个性不太一样,对整个IT架构需求是不太一样的。
1)研发:制造业发展最快的一块是研发,如果把我们的研发环境搬到云环境上去,云平台要很好的支撑我的业务,比如高性能计算;另一块是按需提供不同规模不同类型的计算资源,比如我们用到的计算资源、计算量快速的交付出来;把业务搬到云上是一件可能的事情,在整个研发领域不同的项目按不同的用户需求资源的逻辑隔离,甚至物理隔离,用到多租户一个概念。
2)制造:最核心的首先要做好数据采集,要把人、设备机器、产品、流程串接起来,做好数据采集、做好数据分析、做好数据决策,最后通过一个平台执行下去,还能不断的修正它,比如说制造行业要做数据采集、数据分析、要做边缘计算&雾计算(IoT数据采集端处理),雾计算是CISCO提出来的,从计算的需求不同时间的要求不同,可以按地域分成边缘计算向区域的雾计算,在往后就是云计算数据中心平台,那制造业还有什么要求,我们知道制造业的工厂遍布全球各地,那云平台要实现分布式部署集中式管理,要分发下去,需要云平台,要具备这种跨地区部署能力,跨资源调度能力,这是云平台的一个共性需求;另外一个就是混合云需求,全球建加工厂,混合运不但做好管控,还要通过混合云打通私有云和公有云(网络的打通,容器的技术,K8S调度的技术,容器对环境无感知);通用类PaaS服务能力,工业类PaaS服务的快速交付能力。
3)营销:营销节环很多在做2B,2C的业务,像互联网时代电商类,用户请求放在公有云上,把电商获取的数据做加工处理后放到私有云,做好管控资源的打通,因为公有上有比较好的带宽,有比较好的SDN设备,能很快的加速促销环节,这是从营销环节看,我有互联网电商应用,移动终端业务要部署到我的云平台上云去,云平台天生就有这么好的能力,营销环节也有边缘计算&雾计算,比如买出一个智能设备,智能设备到底在运行一个什么状态,智能设备生命周期是什么,用户的体验是什么,最终回馈到我们研发环节,那我们能制造出更好的产品设备;大数据分析服务,通过终端获到大量的数据做算法做分析,去做售后服务不断提高用户体验。
打通工业云全业务链,我很难有一个平台把工业云所有的要求打通,工业云和传统的云还是不太一样的,通过合作伙伴维护这个生态体系,如果一个技术能满足我80%的需求另外20%的需求通过生态性很好的维护起来,对我们是有帮助的,什么样的技术是好技术(能帮我解决问题的技术)
智能制造的核心内涵:感知和搜集;决策和控制;执行和修正——“智能化”<产品、装备、车间、工厂>;类似于IT服务管理领域的监、管、控。
6、目录
那今天,我重点是要讲AWS架构部署与设计,当然今天我只是做简单介绍,因这个内容非常多。我们来看
什么是云?什么是AWS?
云的设计准则
架构完善的框架
AWS全球基础设施
大型架构设计
7、Internet操作系统?
Internet操作系统,大家先想什么是操作系统,操作系统主要能做什么?操作系统是不是驱动底层的CPU/内存/磁盘等硬件,是吧?给你上面部署的应用提供硬件资源,是不是这个作用? 那亚马逊呢?AWS云服务,类似有点像操作系统。你要做什么就去驱动它底层的各种硬件资源,最终为你所用,亚马逊自己说它的云服务就是一套internet云操作系统。
8、Amazon架构需求
Amazon架构需求:高度可用,无限的水平扩展,可靠,稳定,安全。
AWS,三个字母代表什么?就是全称是什么?Amazon Web Service ,表示它所有的服务都通过API调用,通过网络就能获得你所有的资源,叫webservice。
Amazon以前是电商,现在也是电商。只是今天我们讨论的是它的云服务。
9、Amazon.com
那这里Amazon说的是自己的问题,它一开始有各种各样的需求,因为电商网站的业务发展的很快,所以它曾经也是混乱不堪,其实AWS一开始也没什么有很牛的人,一开始就所有的需求所有的服务都搭起来。现在牛人很多,因为踩了N多个坑以后,终于知道了这个是比较行之有效的方法,所以有今天的云计算这个东西。一开始它做电商遇到各种各样的问题,今天上一套东西买服务器买存储把它搭起来,再来新的需求再买再搭一套。然后A服务和B服务之间没包含交叉,没办法让他们之间相互调用,所以发现规模大了以后,问题就越来越多,怎么解决呢?把所有的服务变成一套技术相连的API,然后这个服务之间是可以相互调用的。你看AWS上现在很多服务,每个服务只干一件事情,你比如EC2大家都知道,它说做计算,Lambda也是做计算的,它计算也分了很多个是吧,然后RDS它就是数据库,那这些服务这间还可以很轻松的调用,所以在做的各位是做软件的一定知道有个叫松耦合的是吧。所以它服务之间是松耦合的,另外一个大家也听过叫SOA的,软件设计领域的一个理念,叫面向服务的架构是吧,其实也在讲这个事情。这些东西并不是新东西,10几年前就提出来了,大家10前年或10几年前听过IBM构件系统一定有什么?有中间件提供服务,这个就在遵循SOA,亚马逊呢它自己把SOA这套东西呢贯穿的非常彻底。所以今天的这个云服务就是这么来的。
10、问题依然存在
好,这是以前遇到的问题是吧,它是从2006开始就卖这些服务,就是最开始它自己用,然后发现这个服务还可以卖,商人头脑。大家想一想我们2006是在干什么?年青点的还在学校呀,早点干IT的那时侯虚拟化刚刚兴起来,大家有没有听过IT领域每15年会有一次变革。事实回过头来看确实是这样的,这个15年再往后倒15年是不是卖小型机是吧,存储呀,用小型机集中构建这样的一个系统。然后到2005年2006年就有VMware开始做虚拟化,再往后一倒现在也应该有15年了,首先云计算再大数据,对吧。所以每15年差不多是这个节奏。2006年开始销售这些服务,大家知道2006它卖的第一个服务是啥?你现在看到AWS有很多服务,实际上2006年卖的服务就一个。第一个服务是S3,S3大家知道干什么的对吧?对象存储,什么叫对象存储呢?区别于我们的块存储,大家笔记本电脑上都有一块硬盘,这个硬盘叫块存储,那对象存储和块存储区别是什么呢?简单来说对象存就像网盘,大家都有网盘的是吧,你放到网盘上的每一个文件都是一个对象,这个对象可以通过全球唯一的URL能访问到它。所以如果后面我们再做技术分享就会讲S3这个服务。所以它提出来第一个服务就是S3这个服务。最开始是怎么诞生这个服务的呢?做电商要扩展吗,做到欧洲非洲去,非洲基础施设不好,老停电数据搞丢了是吧。急需这么一个数据不丢的这么一个东西存储,所以就有S3。S3的持久性比较高是吧,也就是放进去的数据有11个9的持久性。后面会讲到的。后来就开始卖其它的一些服务。
11、什么是云?什么是AWS?
给云的定义:大家有没有被这么多云厂商洗脑,对云这个概念是不是烂记于心了。各家定义有点小差异。
1)可编程的资源,它一种可编程的云资源管理机制,由网络资源、计算资源、存储资源和可编程管理单元构成。
通过采用可编程云资源管理模型和可编程的资源管理规则,实现云资源高效管理。
2)动态能力,这些资源是动态取获的。需要的时侯拿,不需要的时侯就扔掉。计算无处不在,很方便,只在有网络的地方不可以获得。
3)按使用量计费,是一种先使用后付费的计费方式。通过按量付费,您可以按需开通和释放资源,无需提前购买大量资源,成本比传统便宜很多。
只要你搭建的系统,大体上具备这三个能力是不是就是云呀。无非就是公有云,私有云,混合云等等。
12、云计算的六大优势 :
这个对售前比较有用,客户说为什么要上云呀,我告诉你123456好处:
1)第一个将资本支出变成可变支出,什么叫资本支出,你建一个数据中心叫资本支出,可变支出呢?其实叫可变支出有点难理解,叫运营支出,什么叫运营支出,你比如你公司每个月要交水电费吧,水电费是不是运营支出。 交AWS费用也是不是运营支出。我每个月支一点预算出来就好了。不要把一笔钱,夸,丢到数据中心。尤其是企业初创公司是吧。初始公司说我拿到了风头拿到了一千万,二千万,你想风头不投钱是吧,钱用处投哪儿了?你说建机房,这重资产我不搞。是不是,那我干AWS,人家说可以,因为我那天不干了马上可以收回来。真的如果你的业务爆发这后你才需要投入大量资金去建数据中心。
2)第二个规模效益,这个好理解不解释了。
3)停止猜测容量大家知道了,因为你可以认为AWS资源取之不尽。
4)提高速度和敏捷性,这个可能大家有点疑问?我相信大家在数据中心启一个虚机和在AWS上启一个虚拟,本地还快,比如你在AWS上启一个EC2至少5分钟吧,才能访问这个实例,但在本地如果你这个基础设施比较好,一分钟或半分钟这个虚机就启来了,那怎么体现你速度和敏捷性的呢?不同点是在AWS上启动这个实例,防火墙有了,公网IP有了,如果你还要后台数据库的话同时启一个RDS,数据库有了。如果你要一个大数据环境你同步启一个EMR大数据集群,集群也有了。所以你要的所有IT资源在几分钟之内都可以到位。在本地数据中心要实现这一点不是不可能,有难度是吧。你要投入很多才能达到这个效果。再你看启来之后这个防火墙,在我们传统的数据中心要启一个虚机,这个虚机可以在一个大的局域网里面,还是有可会被遭到内网的攻击是吧,在AWS可以做到每一个实例跟实例之间的隔离。如果你们玩过的,它的防火墙叫什么?叫安全组是吧。SECURITY GROUP,这个东西可以限制每一个虚机的哪些端口可以打开。所以你这个ECS实例只开放80,另一个实例开放443,它俩就不能直接交互。所以给安全这个速度和敏捷性就体现在这些方面。
5)专注于重要工作,这个主要体现在说,AWS上有很多托管服务,前面有同学说RDS,RDS是什么?
关系型数据库,常见的关系型数据库它都帮你做了,那为什么说你要专注于工作呢?我如果是DBA,在我自己的数据中心建个数据库我肯定一开始从最底层到最上层,包括它的高可用容灾,备份,打补丁,全要我管是吧,还要优化。但在AWS上我只需要装和优化,底层的事情全部由AWS给你做了,这叫专注于重要工作。
6) 说数分钟内实现全求化部署,体现在AWS在全球有很多资源,这个后面我们会讲到。
反正123456一讲,如果你找对了是吧,像这种战略性质的,要找CTO,CIO,CEO来谈。
13、架构完善的框架,
那么我们在架构上要遵循一些什么原则,或着我是甲方,乙方帮我做的方案,我要看一下是不是满足,做的是不是达到这几个要求,在这几个点上去平衡是吧。
首先你得安全,你得可靠,成本优化,性能效率,还要卓越运维。这后面我们每一个都是会讲,其实这里有个最佳实践,在AWS上有个白皮书。
14、安全性
身份制,怎么实现可追塑,数据上云之后我是不是要有审计,像欧州这些国家安全要求都非常严的,每一层的安全,风险评估。
15、可靠性
经常听到各云厂商断线的消息,你看前没多久AWS,北京Region全挂了,照道理讲AWS数据中心都是有两个可用区,两个可用区是独立的供电,独立的网络,那一个挖掘机下去只会挖断一个可用区,为什么两个可有区都是宕了呢?是因为埋线的人把两根线绕了一圈埋到了一个沟里去了。所以一个挖掘机下去两个AZ都断了。这就是设计问题对不对,所以这个就跟可靠性有关。
16成本优化
消除一些不必要的支出,你说有些服务我用EC2跑,但一天访问的缪缪无几,就这么几个人访问,那如果我把它换成lambda,后面我们讲Lambda对吧,这个有人有需求的我再访问,这个省成本对不对?如果我考虑使用托管服务,虽然费用很高,但我可以把运维人员成本省下来。这个看是站在什么角度来看问题。
17、卓越的运维
当然它会说用一些工具来帮你做一些自动化运维,现在大家都在讲DevOps,DevOps是使用最常见的开发运营模式来开发、部署和维护应用程序。,所以它需要一些工具来支撑,AWS说我有全套的工具来支撑你的DevOps。
18、性能效率
EC2有很多资源类型,大家一开始使用t系统,那个便宜,它实际上有各种不同的,你比如说我今天测试量不大我就用T系统,我上生产压力很大很吃CPU,我就用C系列的,类似这样。普及先进技术,S3算不算是先进技术,也不算是吧,非常简单就能实现,但你要达到它那么高可靠性也不容易,包括关系型数据库你要搭起来也能用,但你要保证它的可靠性,性能啊也有些麻烦。所以我会利用AWS上的一些服务来实现。
19、AWS数据中心
好,前面都是些概念性的东西,然后我们就开始说,AWS在全球的基础设施。刚刚说到AWS在全球有很多资源可以用,包括有些外企,我要出海,像吉利这样的公司,在全球很多国家有工厂,销售点等等,那相对应的AWS在全球有各种各样的资源。
好,我们先来了解一些基本概念,数据中心,先首数据中心这个不需要我们了解它,也就是我们在日常使用AWS的时侯,这个东西不会出现,只是告诉大家说,它有很多数据中心,你像它每个数据中心,你比如说北京,它可能有几个数据中心,但每个数据中心可能有几千或几万台服务器,北京资源比较少,而且都是在线的,没有所谓的冷备的,商人呀,不挣钱不行,然后在它数据中心里面有很多网络设备是它自已定制的,叫ODM,就是我自己设计,找人生产,大家都知道AWS的服务器是谁家生产的?代工的,DELL,也许还有别的,其实很多东西它自己做,交换机是它自己设计的,然后服务器甚至还是它自己设计蕊片,它自己没能力制造,托给第三方制造而已。包括很多网络协议栈还是它自己做了很多定义,等会我们配VPC的时侯还是详细讲到。
20、可用区
平时我们数据中心可能看不到,我们能看到的是可用区,最小的就是可用区,可用区会在什么时侯被看到,你在建EC2的时侯能看到,A可用区呀,还是B可用区,还是C可用区,那什么是可用区呢?
21、AWS区域
AWS在北京和宁夏各有2个和3个,北京叫什么?叫region是吧,叫区域。这两个区域是各自独立的,但在北京呢?有2个可用区, 这两个可用区有什么特点?为故障隔离而设计,在北京这个区域里面分别有A和B,这两个相隔多远呢?几公里,就是一个容灾的距离吧,那这两个可用区之间呢有两个私有光纤连接。(在黑板上画下),如果一个Web服务,在两个地方启,那怎么做负载均衡呢,我们后面会讲到ELB。(2ms我们是可以接受的)。
22、AWS全球基础设施:当前区域
当前区域,中国2个,美国3个,中国和美国比较大,其它地方基本上是一个,新加坡,悉尼都一个。其实中国2个区域和海外区域是隔离的,这大家都知道是吧,本来你注册一个海外账户,照道理你全球都可以用的对吧,但实际上把中国两个排除在外,AWS在中国你得单独注册账呢,然后注册账户之后呢北京和宁夏是可以用的,其实中国还有一个地方叫香港是吧,香港的已上线了,但那个region是归在海外,所以你注册海外的账号可以看到香港。也就是说你即要使用海外资源又要使用中国资源你需要两个账号。你可以实现跨区跨的数据复制,比如说从东京复制到新加坡可不可以实现复制呢?是可以的。区域之间是用AWS骨干网络相互进行通信。这是可选项,你说我从互联网走,也是可以的,但从效率上讲效果会好一点。可能这个图有点老,香港已经推出来,每个圈圈代表一个区域。区域里面的数字代表可用区AZ的数量,最多哪里呢?加里福尼亚。它有6个AZ,为什么强调这个,因为AWS新的服务在资源多的场景上,为什么这里资源多,因为客户多,需求多,所以新服务一定是在那里出现,它在国内的或全球其它的region,它的服务是不一样的,新服务会上一部分。
23、AWS全球基础设施:边缘站点
除了刚才说的在全球有19个region,还有其它一些边缘站点,大家猜猜边缘站点是用来跑什么的?
IOT,CDN(AWS 叫cloudfront),比如新疆要访问北京的资源,这么老远,我会把一些静态的资源推到新疆用户最近的地方,所以这些服务在边缘站点上,除了跑这个它跟终端用户最近的距离,除了刚才说的跑CDN,IOT还有DNS(AWS叫route 53),还有什么呢,WAF防火墙,客户从边缘站点上来,黑客也会从边缘站点上来。当然还有其它的一些小服务getway。你看这里大圈圈表示什么东西,叫二缓存,不太活动的内容退到这里,然后这些地方呢有和AWS直连的光纤的,边缘站点有多少个呢,这个数字在不断变,现在是100多个。
24、大规模架构图
这是我们的架构图,我们是从最简单S3讲起,这是DNS服务是吧,这是什么CDN放静态内容的,静态站点跟网络相关的,然后互联网网关,然后负载均衡器(ALB),然后这是什么自动扩展的(auto scaling),NAT网关,EC2,缓存,数据库等,等后面开课了,讲完这个课的时侯,对大家来说看一眼就知道是干什么的对吧?你也可以根据客户的需求,画出这样的图来。它的课程目的就是这个。
25、混合云统一管理
混合云统一管理是一种常态
26、有哪几类客户要上云
27、谢谢
好,那今天的分享就到这里,谢谢大家。