AWS云计算平台工作使用中的心得

笔者简介

余洪春(抚琴煮酒)运维架构师、高级运维开发工程师,《构建高可用可Linux服务器》、《Linux集群和自动化运维》作者,ChinaUnix论坛“集群和高可用”及“监控及自动化运维”版版主。从事云计算和电子商务网站运维工作10多年,在Linux集群、自动化运维、云计算及高并发高流量网站架构设计等方面进行了深入的研究,在大量一线实践中积累了丰富的经验.精通负载均衡高可用和自动化运维技术,擅长高并发高流量网站系统架构设计。

笔者目前所在公司的海外业务平台由于牵涉到多机房布点和成本的考虑,目前基本上采用的是AWS云计算平台,产品线涉及到了EC2/EBS/S3/Redshift等,目前平台已经稳定运行几年了,在使用过程还是有不少心得和感想的,特地做了些总结跟大家一起分享下,对AWS有兴趣的同学也可以关注下。

作为一个老运维,还是对AWS强大的控制台功能还是很惊异的,控制台提供的功能是非常强大的,小到系统的AMI镜像备份恢复,用户的IAM权限分配,然后Instance机器种类和外置磁盘EBS的选型,大到分布式S3的文件存储功能,AWS强大的控制台都提供了相应的功能。如果不喜欢用图形界面操作的话,喜欢自动化运维的同学,AWS也提供了强大的BOTO3接口(基于Python),同学们也可以利用Python脚本来进行相关的服务器后台程序开发工作。

注:通过适用于 Python 的 AWS 开发工具包 boto3 快速开始使用 AWS。Boto3 可以支持您轻松将Python 应用程序、库或脚本与 AWS 服务进行集成,包括 Amazon S3、Amazon EC2 和 Amazon DynamoDB 等。(创建AWS免费帐户

另外,AWS控制台有些功能是非常人性化的,比如我通过控制台购买了一年的c3.xlarge(4 vcpu+ 7.5内存)预留实例(预留实例是一种比较节约的计费方式,通常为以年为计费单位,比单独购买一般要便宜35%左右),但在使用过程过程中,我发现业务量不需要c3.xlarge这样高性能的机器,那我们可以通过修改预留实例的方式,将其分离成2台性能稍弱的c3.large,这样剥离出来的一台c3.large机器就可以多出来跑别的业务了。

另外,AWS的产品线是非常丰富,通过控制台我们就能看到,各种各样的产品都在列表内,大家可以根据工作需求来取舍。我们一般用得比较多的有EC2(AWS云主机)、Route53(DNS)、CDN、Elastic Load Balancing (AWS负载均衡)、S3/Glacier(云存储)、数据库产品有RDS或Redshift、NoSQL有DynamonDB、ElasticMapReduce(Hadoop计算框架)等等,AWS的产品线是非常丰富的,甚至可以说,我们工作中产生的业务需求,很有可能就能通过AWS的产品来实现。通过AWS的EMR服务来实现工作中的Hadoop/Spark来进行海量离线业务日志的处理和分析,是一件非常容易和轻松的事情,事实上,这部分的工作是完全不需要运维人员来参与的。

另外,事实上,AWS云计算平台进行弹性扩容是一件非常容易和方便的事情,拿我们的业务平台来说,在上线前期,由于宣传及商务谈判等原因,入口流量及用户数都比较少,这个时候平台很稳定,整体系统负载及QPS都比较低,但随着后期商业谈判的成功,入口流量及用户都越来越多,系统负载、QPS都偏高,机器还经常出现了CPU利用率达到100%的情况。这个时候我们可以通过调用AWS API接口来实现弹性扩容,包括主机的分配、流量的分配、IP的绑定、域名解析的配置,还有存储服务等,这部分的工作如果做成自动扩容也是比较容易实现的,我们可以通过Ansible自动化配置管理工具或Python语言自行开发。事实上,为了节约费用,很多时候我们可以考虑开启更便宜的Spot Instance(比Instance实例收费便宜多了,但公网IP不固定,由于采用的是竞价模式,很容易被别人买走)。另外,后续的工作我们还是要在工作中考虑到,比如说某项业务量降下去以后,我们不再需要那么多机器了(AWS是以Instance实例实际使用的小时数来收费的,我们关闭机器以后AWS就不再收费了),我们应该如何在不影响业务稳定性的前提下来减少机器数量从而起到节约成本的作用呢,这些都需要我们在实际的开发工作中考虑到。

另外,在实际使用工作中我们也发现,AWS平台目前也还是存着一些问题的,这些也应该是我们在使用过程注意的地方:

一、有段时间,美国西部的机器因为亚马逊硬件升级的原因,不断的要进行业务迁移的工作,事实上如果是某个集群内的机器的话倒没什么影响,如果机器上面正跑着重要核心业务的话,对整体系统还是非常有影响的;

二、使用中有机器还是有重启的情况,还发生过机器失联的情况,当然了这种情况并不多见,一年中我们也只发现了两起,就是没有任何邮件通知的情况下,机器发生了失联情况;

三、亚马逊自带的监控功能或产口还不是很强,所以我们还是需要自己配置nagios或zabbix监控服务,并针对业务需求来开发插件;

四、预留实例的出售是一件比较麻烦的事情,比较好买,但感觉非常难出售,所以笔者每次购买预留实例会非常小心谨慎。

五、AWS的帐单功能还是挺完善的,但也可能会产生误收费的情况,这个时候需要英语口语或邮件沟通,一般情况下AWS会退款的。

虽然AWS云计算平台或多或少的存在些问题,但总体来说并不会影响我们业务系统的整体性能和稳定,我们能够在节约成本的前提下,能够非常方便的进行扩容工作和Hadoop/Spark数据计算,在全球部署自己的数据中心,这些工作由于使用了AWS平台感觉操作起来非常简单方便,感谢AWS提供了这么些伟大的产品,预祝其越做越好。 (联系AWS专家

时间: 2024-10-13 09:52:57

AWS云计算平台工作使用中的心得的相关文章

结合Ansible在AWS云计算平台上实现运维自动化

刚刚看了金山梁晓聪的"在AWS上的运维自动化实践分享",发现技术都是相通的,大家都是用最好的技术.我们的业务平台主要也是AWS云计算平台,尝试了许多自动化运维/配置工具,最后还是选终了Ansible. 下一步在公司运维自动化DevOps要做的工作:增大Ansible在系统中的应用比重,真正跟AWS结合起来.选择 Ansible 主要因为丰富的相关支持,包括很多现有的组件和模块和开源的 Ansible 部署和脚本.笔者也尝试了市面上所有自动化运维和自动化配置工具,发现Ansible是对A

云计算平台简介(App Engine)

云计算平台简介(App Engine) 1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Internet 按需交付计算资源(从应用到数据中心都属于计算资源)和按使用付费的基础架构. 富有弹性的资源:能快速轻松地扩大或缩小规模,以满足您的需求 按使用付费:计量服务的使用情况,只需为所用的服务付费 自助服务:使用自助服务可访问您需要的所有 IT 资源 1.2  云计算部署模型 1.2.1 公共云 公共云由一

AWS云计算技术直播邀请函

科技的不断创新于演进时刻在改变我们所处的时间,人们从未停止用科技的力量去探索和实现.越来越多的企业和人们正在通过 AWS 重新构建,构建更有的用户体验,构建更强大的业务平台,构建更安全的系统架构......如果你是 IT 从业人员和管理人员,如果你正寻求通过云计算技术大规模地构建和创新自己的业务,如果你想了解 AWS 先进的技术与服务,立即报名光环云2019在线技术直播课!直播详情如下: 一.培训课程介绍 聆听光环云AWS首席云计算专家主题演讲: 探讨用云计算进行创新转型的无限可能: 学习 AW

云计算平台

云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象.狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需资源:广义云计算指服务的交付和使用模式,指通过网络以按需.易扩展的方式获得所需服务.这种服务可以是IT和软件.互联网相关,也可是其他服务.它意味着计算能力也可作为一种商品通

亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计

设计高可用的应用是架构师的一个重要目标,但是基于云计算平台设计高可用应用与基于传统平台的设计有许多不同.云计算在给架构师带来了许多新的设计挑战的时候,也给带来了许多新的设计理念和可用的服务.如何在设计应用的时候充分利用云平台的各种特点是基于云计算设计的一个重要条件.在这个在线讲座中,我们将以亚马逊AWS云平台为例,讨论如何设计一个高可用应用. 我们先会根据AWS服务是否天然高可用.高容错的特点把常见的AWS服务分类.比如AWS把下面服务设计成高可用和高容错的服务: ·     Amazon S3

用Docker快速打造企业Paas云计算平台

用Docker快速打造企业Paas平台 课程特色 Docker就像一场森林大火重新创造了一个全新的云计算领域,Docker作为云计算分布式软件工程的革命正在深刻地改变传统分布式系统的开发.测试和部署.其影响的神速远胜于云计算第一代技术OpenStack等:Docker不仅是历史上最流行的开源项目之一,而且也从根本上改变了人们构 建应用程序的思维方式.它可以把程序及依赖的二进制文件.第三方库等封装在一起,运行在任何安装 Docker Daemon 的服务器上,它有望成为未来软件自动化部署的标准.

亚马逊AWS在线系列讲座——如何在AWS云平台上构建千万级用户应用

用户选择云计算平台来构建应用的一个重要原因是云平台的高弹性和高扩展性.面向互联网的应用往往需要支撑大量用户的使用,但是构建一个高扩展性的.高可用的应用具有一一定的挑战,不过基于AWS云平台来构建应用可以相对简化这个事情.这个在线讲座将讨论如何如何充分利用云平台的特性和AWS的相关服务来构建一个可以支撑千万级用户的应用.通过讨论不同用户数量级别的应用需求和架构特点,然后结合不同的AWS的服务来满足用户访问,并最终逐渐把架构优化成为可以支持千万级用户的设计.这个演讲的目的是帮助对AWS服务有一定基础

基于H3C CAS的云计算平台搭建

基于H3C CAS的云计算平台搭建 1.H3C CAS介绍 H3C CAS(CloudAutomation System)云计算管理平台是H3C 公司推出的构建云计算基础架构的资源管理平台,它为数据中心云计算基础架构提供虚拟化管理解决方案,实现对数据中心云计算环境的集中管理和控制.此外,CAS 还支持vStor 分布式存储管理功能,即整合多个宿主机内的硬盘资源,构建IP SAN 提供给本云计算资源平台或其他业务系统使用. 2.产品组件 CAS 由四个组件构成: CVK(Cloud Virtual

云计算平台最核心的五项技术

不知不觉间,一向以高大上形象示人的云计算也开始慢慢为普通人所熟知,那么今天我就在这里分析一下云计算平台最核心的五项技术: 1.云服务器 云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定.数据更安全.传输更快速.部署更灵活. 功能特点 机型丰富 通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储.数据库搭建.web服务器搭建等工作: 仅需要几分钟,根据CPU.内存.数据存储空间和网络带宽等需求,或根据已经配置