导读:本文摘自于阿里云MVP、驻云科技运维总监乔锐杰撰写的《阿里云运维架构实践秘籍》一书,选好云平台后,接下来要考虑的是在这个云平台上选择什么样的云产品进行业务部署及规划。可是在面对云平台上的两三百款产品时,难免会眼花缭乱。如何选择对应的产品?选择的重点是什么?我们又要注意哪些事项呢?

云产品的8/2选择原则

在云端应用场景下,80%的企业(默认情况)会选择云产品,只有20%的企业会考虑自行搭建对应服务。比如,有SLB,企业肯定不会自己去搭建Nginx做负载均衡;再如,有RDS,企业也定不会自己去搭建MySQL。

对于云产品的选择,有件事情让我印象深刻。一次去北京出差,与同事一起拜访了一家公司。这家公司在云领域有十几台服务器,由一位运维人员负责维护。该公司的数据库都是在ECS上搭建MySQL来运行的,于是我问那位运维人员,“为什么不选择RDS?”那位运维人员不假思索地说,“在ECS上搭建也挺方便的,为什么要用RDS?”听到这个回答,我有点不高兴了,比较严肃且强势地说,“使用RDS就不用你考虑安装配置、调优、备份、扩展等问题,拿来就用,为什么还要自己去折腾搭建!”所以选择合适的云产品,相比自行搭建,有以下技术方面及非技术方面的优势。

五个技术优势

安装配置方面

一些软件的编译安装,比如PHP,经常会有依赖包、版本兼容等问题,其安装配置没有想象中那么简单。而对于云产品,我们不用再去官网找安装包,也不用自己手动安装、配置,这一切云产品都默默地替你做了。

调优方面

对于云产品,我们也不用关心一些性能参数要如何去优化,这一切云产品也会默认替你实现。比如,MySQL的配置优化对细节、技术、经验都有较大的挑战,如果你对其性能要求较高,只需要在管理界面选择更高规格的配置型号,或者选择集群版本即可。

备份方面

在传统运维过程中,我们需要搭建主从、编写备份脚本以及操作Binlog来进行对应的备份及恢复,这方面对运维人员来说都是较大的挑战。但使用云产品时,我们也不用关心冷备、热备方面的问题了,因为这一切云产品都默认帮你实现了,你只需要“傻瓜式”地操作即可,哪里不会点哪里。

高可用方面

使用云产品,我们不用担心出现高可用方面的问题,也担心什么时候挂了没办法提供服务。在ECS、SLB、RDS、OSS等阿里云产品中,都是采用集群的方式部署对应的云产品,保证我们使用对应云产品的高可用性。比如,ECS和OSS都是三副本的数据冗余,而RDS,则是采用DNS+双Master架构来保障高可用性。除了开放给用户的一个RDS库以外,还有一个隐藏的从库未开放给客户(举例:进入RDS MySQL,通过“show slave status\G”可以看到隐藏的从库)。

安全性方面

对于安全性方面,使用云产品,不用关心软件版本的安全性问题,也不用关心这个版本的软件有哪些补丁、漏洞要去修复,更不用关心这个软件会被攻击的问题,这都是云产品默认会做到的。

两个非技术优势

责任方面

在非技术方面,云产品有一个很大的优势,即如果是自己搭建维护的平台出了问题,那么对客户、对领导都要负责,对应的损失也得自己承担;相反,如果使用云产品出现了对应问题(当然主要是云产品稳定性、性能、安全性、高可用等本身问题,不包括因用户不会使用及对应误操作等导致的问题),那么对应的损失甚至可以找云厂商进行索赔。

部分企业在面向客户服务的时候,想要自己招聘运维人员,而不想找第三方服务公司,觉得不安全,怕数据被第三方公司窃取,或者出现安全性问题。众所周知,企业招聘员工,本身在成本和管理上就有很大的困难,这里先不谈这方面的挑战。换个角度,企业招聘员工本身就是安全风险非常高的事情,比如,怎么保障这个员工不泄密?其实很多企业的数据泄露,不是因为被黑客窃取,而往往是因为公司内部人员泄密。有时候,我们也会看到一些有意思的故事,比如“从删库到跑路”。虽然大家把这些故事都当成笑话,但殊不知这都是真实的案例。比如,一个运维人员因加班而失恋,之后格式化了所在公司的所有服务器并离职。因此员工造成的问题,结果只能是企业自己扛。若面对的是第三方专业团队,那么这些问题就可由第三方专业团队解决,甚至向其索赔。

费用方面

当然,云产品责任方面的优势只是从特定的某个方面来说,具体情况还得看业务需求和业务场景。在实际应用中,很多用户会觉得使用云产品成本较高,不如自建平台。单纯使用高规格的云产品的费用的确不低,但是深入了解后你会发现,想自行在ECS上搭建出和云产品具备相同性能的环境,所采用的ECS台数和ECS配置的费用加起来也不比使用云产品的费用低多少,如下表所示。

RDS与自建MySQL配置的费用对比

这里有一个需要注意的地方,RDS的8核16GB配置只是一个规格配置参考,并不代表我们自己ECS上部署的MySQL也要采用8核16GB配置,这是个细节误区。RDS最主要的规格性能参数是:“最大连接数:4000; IOPS:8000”。所以在实际部署中,要让数据库达到如此性能。我们一般采用CPU和内存配比为1∶4的ECS配置,如4核16GB、8核32GB、16核64GB。在上述ECS的配置清单中,默认推荐选择8核32GB是为了保障自建数据库的性能和稳定性。而且RDS的高可用版是双机高可用版,我们在ECS上自建的MySQL是单机版,这里还需要再开一台做主从,以保障数据库数据的安全性和高可用。这样一来,成本就进一步增加了。

选择自建环境的条件

那么,具体在什么场景下我们才需要自己搭建对应的服务呢?对此主要从功能性和灵活性等方面来考虑,这也是自行搭建服务平台的相对优势。阿里云的很多云产品,如SLB、RDS、CDN等,其核心都是基于开源技术进行了封装并做了相应优化,然后形成对应的云产品。相应的封装给我们带来了相应的优势,但同时也给我们带来了相应的缺陷,比如,做了封装,必然会使很多原生态的功能和特性存在一定的使用限制,下面我们具体来看。

七层SLB的功能限制

何为七层负载均衡?更多地称之为反向代理,大家最为熟悉的就是Nginx。何为七层反向代理/负载均衡?是因为它不只是能做七层转发,而更多的是能在七层上做很多Rewrite的七层控制等。而早期的SLB产品,连虚拟主机功能都不支持,只是可以简单地七层转发。当然,当前SLB产品已经支持虚拟主机,具有七层代表性的核心功能。如果想用Rewrite等更多七层功能,我们只能自行在ECS上搭建Nginx。

连接Redis,有密码鉴权

有些客户问这个密码鉴权能不能去掉,代码中采用了一个老的Ruby框架,不支持这个鉴权,也没办法改代码。所以这时候我们只能无奈地在ECS上自己搭建主从Redis,然后结合Console+DNS做高可用。

RDS MySQL对Myisam存储引擎的支持

在用户的业务中,需要MySQL支持Myisam存储引擎。而RDS MySQL版默认只支持Innodb的存储引擎,所以我们只能在ECS上搭建MySQL来满足业务需求。

云数据库MongoDB对跨地域多副本冗余的支持

若客户对数据的安全性要求较高,并且云端和他们线下IDC做了专线打通,他们需要将云端的MongoDB数据在线下IDC中做个副本,当前云数据库MongoDB结合DTS还不支持此功能。所以我们在云端搭建了两个副本,在IDC上同步一个副本,组成MongoDB的副本集。

综上可见,有些功能是云产品没办法支持的,且当前企业没办法调整自己的业务架构及代码。这个时候基于灵活性和功能性方面的考虑,只能选择在ECS上搭建相应的服务。

本文摘自于《阿里云运维架构实践秘籍》,经出版方授权发布。

推荐阅读

《阿里云运维架构实践秘籍》

推荐语:本书由阿里云MVP、“乔帮主”乔锐杰所撰写,是不可多得的运维架构技术实践类书籍,集结了作者多年一线工作实践经验,也是目前市面上少有的在常见热门开源技术的基础之上,结合云平台、云产品,系统性地讲解云端网络、云端负载均衡、云端存储、云端缓存、云端数据库、云端运维、云端监控、云端容器、云端自动化运维/云端DevOps、云端安全、云端架构等技术的实践图书。书中总结及归纳了将近三十种实践的云秘诀,为读者在风起“云”涌的时代,提供过关斩将的“尚方宝剑”。

读书日签

更多精彩回顾书讯 | 6月书讯 (上)| 初夏已至,书香有约,六月宜静心读书书讯 | 6月书讯 (下)| 初夏已至,书香有约,六月宜静心读书上新 | 周志华领衔撰写,历时4年,宝箱书问世!
书单 | 创建字节跳动之前,张一鸣读过哪些硬核技术书?干货 | G1垃圾回收算法概述收藏 | TIOBE 5月榜单:时隔五年,C语言重返第一

为什么80%的企业会选择云产品?相关推荐

  1. 如何利用云服务器挖矿_企业如何选择云服务器

    随着云计算的快速发展,基于云计算技术的云服务器逐渐占领主机市场主导地位,成为炙手可热的存在.而很多个人.企业的官网在建设时,也越来越青睐云服务器,那么市面上云服务器品牌众多,我们如何挑选合适的云服务器 ...

  2. 阿里云——企业主要应用云产品详解以及运用场景

    公有云论文 一.总概 云计算就是一种服务,它集中了一定的硬件和软件资源,使得用户或企业使用计算机基础设施就像使用水.电.煤气等资源一样便捷.高效.由于互联网的飞速发展,海量的用户对计算机软件以及硬件资 ...

  3. 服务全球15亿用户,这家初创企业怎样选择云平台

    在全球拥有15亿用户的初创企业 如果没有云服务平台的话,相信大家都很难想象,一家初创企业该怎样面对全球市场多达15亿的海量用户. "使用AWS,我们不用处理底层的繁重工作,可以更加专注于自身 ...

  4. 选择云原生是企业进行技术变革的必经之路

    前言 众所周知,云计算领域的蓬勃发展,让越来越多的企业将自己的业务搬到云上,上云已经成为大部分企业的首选操作.无论是头部的中大型企业,还是普通的微小企业,企业业务是亘古不变的核心,这关系着企业的命脉, ...

  5. 企业到底该选择云服务器还是自购服务器?哪个划算?

    物理服务器是比较早的产品,用户源也还是比较多的,因为配置不一样,所以各个行业和规模的企业都有使用.伴随云计算技术的普及,新技术对传统业务托管模式的冲击愈发强烈,很多企业和开发者将业务转向云服务器. 对 ...

  6. 企业应该选择服务器租用、服务器托管还是云服务器?

    谈到服务器,其实是企业一定会用到的.而企业业务的不同也决定了选择服务器业务种类的不同.像是有的企业选择服务器托管,有的就会选择服务器租用,还会有选择云服务器租用的.那么像是服务器托管.服务器租用.云服 ...

  7. 企业迁移到云之前要考虑的关键因素

    云计算是指通过互联网按需使用服务器.数据存储.数据库.网络等开发工具.云计算使企业能够更快地启动和运行他们的应用程序.通过更少的维护和改进的可管理性,它允许团队快速调整以满足不断变化的资源需求. 1. ...

  8. 第三章:使用云产品的优势

    当企业选择云产品之后,企业的业务部署就能够获得一个快速交付.资源就能够按照业务的需求进行配置和部署,从而获得较低的运行成本 同时企业IT人员能够更加便捷的管理云资源以及云产品,此外云产品能够同时支持企 ...

  9. 随着云计算的发展,企业上云已经成为了一种必然趋势,那么为什么企业要上云?

    随着云计算的发展,企业上云已经成为了一种必然趋势,那么为什么企业要上云? 随着云计算的发展,企业上云已经成为了一种必然趋势.众多企业也已经顺应时代趋势上云,你知道他们为什么做出这样的选择吗? 企业上云 ...

最新文章

  1. golang中的sync.once
  2. 在电脑桌面怎样用命令开启远程桌面?
  3. AtCoder AGC033F Adding Edges (图论)
  4. 互联网1分钟 |1219
  5. php基础教程 第二步 通俗易懂的学习变量、常量与数据类型
  6. 用CSS让DIV上下左右居中的方法
  7. 【体系结构】Oracle的kernel.shmmax和kernel.shmall设置
  8. hive中的lateral view的解析
  9. 【转载】究竟什么是POJO?
  10. Mac系统如何使用文件标记功能?
  11. ES6、7学习笔记(尚硅谷)-4-模板字符串
  12. 翻译:《CSS权威指南》(第3版)-概览和目录部分
  13. OA办公管理系统的功能有什么特点
  14. 嵌入式面试常见问题(三)
  15. 读《论人类不平等的起源和基础》
  16. 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
  17. 听书项目开发过程及重难点总结(用户管理)
  18. 20条直播间行业术语给你总结好了
  19. 东北育才 d1t4 漂流
  20. IBM收购了Redhat,转身就卖掉了自己的重要软件......

热门文章

  1. Deepin 使用教程:前言
  2. 机械祭天法力无边:C++primer学习(第一章及课后习题)
  3. 中创软件哪个部分是外包_什么是外包| 第1部分
  4. CAN总线通信——CAN通信的数据帧(Data Frame)
  5. 公众号对接淘宝联盟_公众访问新联盟支持的作品
  6. 程序员必须收藏的 58 个网站
  7. python实现关键词搜索
  8. WordPress整合ckplayer X3视频播放器插件
  9. 概览:可视化前端测试
  10. 【攻防世界-Web简单篇】