本文共 7190 字,大约阅读时间需要 23 分钟。
因为在之前妈妈帮使用的是自建的IDC,从表面上看起来是可以直接触达机房和机器的,所以在感觉上会认为对于机器的把控性是比较强的,同样也希望在上云之后阿里云能够保证稳定性和故障出现时的响应效率。
在成本方面, 妈妈帮上云之前和上云之后相比是怎样的呢?在上云初期妈妈帮进行成本预期的时候认为上云之后成本上升20%以内都是可以接受的,但是最终计算下来上云之后的成本与原来基本持平。关于上云之前妈妈帮的运维成本,胡兴邦谈到主要来自于以下几个方面:
刚才提到一点就是减少运维人员的成本,其实在很多上云的公司中,首先提出反对意见的应该就是运维人员,因为运维人员可能觉得上云后很多服务都依靠云实现了,运维人员的价值就会降低了,那么作为运维主管的张楠在妈妈帮决定上云时是什么样的想法呢?
张楠谈到从他自身的角度而言,是不存在上面提到的这种顾虑的。张楠认为运维应该将更多的精力从对于底层设备的维护转到对于业务的支撑上面去,这样才能使得运维具有更高的价值。张楠谈到还谈到虽然在未来确实可能出现云服务和产品代替一些运维技术工作的情况,但是运维人员角色的变化还是好的,这样的变化能够从一定程度上提高运维人员的内在价值。那么在妈妈帮向云上迁移的过程中遇到了哪些问题或者困难呢?
对于妈妈帮迁移上云过程中遇到的问题,胡兴邦谈到了在将图片数据向OSS迁移的过程中,之前是自动对于图片进行缩放的,因为APP对于图片的缩放的变化比较多,所以之前实现了根据图片的地址源信息自动地对图片进行缩放,并且这个缩放规则是技术团队自己确定的,而当迁移到OSS之后,由于阿里云OSS在地址信息里面有一些对于图片裁剪以及缩放的处理规则,这样就会导致两个信息不匹配,所以在进行开发时需要进行小的改动来适配这部分。业务架构师如何帮助客户上云
昕晖也谈到作为业务架构师在帮助客户上云的过程中会做以下几项工作来解决客户所遇到的困难:在平滑上云的设计中主要会考虑到哪些问题呢?
胡兴邦谈到第一点也是最重要的一点就是对于服务的平滑迁移,需要保证在服务不中断的情况下,向云上进行迁移。除此之外,还需要保证迁移之后能够进行横向扩展,所以对于之后运维规范性和安全性都会考虑进去。胡兴邦还谈到其实妈妈帮为了预防上云之后会出现一些不可预知的问题,为了保证业务的稳定性,目前使用的是IDC与阿里云相结合的双活架构方式,保证阿里云和IDC其中一方中断不会影响妈妈帮正常地提供服务。 妈妈帮目前使用的云产品和服务 阿里云有各种各样的云产品,而对于技术而言,也是条条大路通罗马,所以想达到同样的业务目的,可能有多种的产品可以达到预期目标,那么对于 妈妈帮而言,对于云产品的选择有哪些考量呢? 胡兴邦谈到,妈妈帮目前使用到的阿里云的产品还是比较多的,像之前提到的SLB、云服务器ECS、OSS、MemCache以及Redis等,而且未来还将引入阿里云的MongoDB数据库服务。最近一年阿里云的产品线增长得非常迅速,所以妈妈帮在选择产品的过程中也存在了一定的对比性,主要会从两个方面进行考虑,首先是对于目前自身所使用的服务进行一定的考察,同时也会对于阿里云目前正在提供的一些产品以及线上的服务进行考察,通过这两部分的调研选择出最匹配的并且最符合对应关系的产品。除此之外,胡兴邦还谈到如果妈妈帮自身对于一些问题还不是特别清楚就会和阿里云的业务架构师进行沟通,将遇到的一些问题和场景抛给阿里云的业务架构师,让他们给出一些最佳实践或者方案,之后再进行向云上的迁移。作为业务架构师,对于妈妈帮选择产品时有哪些建议呢?
昕晖谈到一般而言业务架构师在帮助用户选择云产品和服务时主要会从以下几个方面进行考虑:虽然阿里云已经在最大可能上帮助客户向云上进行平滑迁移,但是还是会在某些案例中出现阿里云目前还没有能够满足客户相应需求的产品或者服务的情况,那么这样的情况下应该怎样做呢?
昕晖谈到针对于目前有可能用户还会需要一些阿里云还没有的产品的情况,作为业务架构师一般会给出两种建议:一种方式就是建议用户在阿里云的ECS上部署自己开发的产品,另外一种方式就是阿里云会结合市场分析判断这样的产品是不是通用型的业务需求,如果的确是通用型的业务需求,阿里云就会分析竞争对手的业务情况以及商业化能够带来的价值,之后在整个阿里巴巴集团内部寻找能够进行研发的资源和团队,进而推进相应产品和服务的商业化。这也是业务架构师的一部分职责所在,就是将市场需求总结抽象成为产品需求并反馈给产品和研发团队。 妈妈帮云上架构 胡兴邦介绍妈妈帮作为比较典型的互联网公司,架构设计的从前到后都使用了阿里云的一些产品和服务,最前面使用了CDN进行加速,之后就是负载均衡调度,然后就是ECS上的Nginx服务器。后面接着是应用层,再之后就就使用了MemCache以及Redis这些服务,最底层就是数据库这部分,目前主要是MongoDB,妈妈帮90%的数据都存储在MongoDB上,剩余的10%存储在MySQL上。 妈妈帮MongoDB使用历史 胡兴邦谈到妈妈帮从2012年12月份圣诞节那天MongoDB就开始正式上线了,当时使用的是单台机器单节点的MongoDB数据库。后来随着业务的发展,发现数据量的读取开始出现了问题,接下来对数据库使用了主从策略,但是主从策略是有一定的缺陷性的,因为无法实现自动切换。之后妈妈帮又做了复制型的数据库,但是紧接着又发现复制型数据库也会带来问题,会出现全局锁对性能产生影响的问题,所以之后又将一些库拆分到多个节点上,保证写和更新的性能会比较好。由于单表的压力会比较大,后面又对于存储层进行了相应的处理。 无论是使用MongoDB还是一些其他的产品,总会多多少少遇到一些问题,而妈妈帮经过了这么多年,还是坚持使用MongoDB。胡兴邦谈到妈妈帮坚持下来使用MongoDB其实有多方面的原因,一方面其实数据库转型之后往往会带来更多的问题,因为MongoDB与结构化数据根本上就是schema机制不一样,传统的数据库比如MySQL是有严格的schema的,这样造成了如果数据库转型的话在数据结构性上会造成很大的问题。另外一方面,MongoDB还是有很多优点的,它最大的优点就是具有强大的性能。除此之外,MongoDB在设计之初就是为了适应分布式系统集群的,传统的关系型数据库像MySQL就不能非常好地支持分布式存储。对于阿里云MongoDB有什么样的要求或者期待呢?
胡兴邦谈到对于阿里云MongoDB最期待的就是稳定性的提升。妈妈帮在数据库上可以说是一路坎坷地支持着MongoDB,但是目前MongoDB的稳定性问题还是比较突出的。此外,还希望在数据备份、恢复以及运维工具上面阿里云能够提供更多的特性来更好地支持开发和运维。 上云为运维工作带来的变化 张楠谈到上云之前,运维人员需要花费很多精力放在底层设备、技术搭建以及维护上。上云之后则会将主要精力都放在对于性能的优化,对于高可用更多的关注以及如何更快更好地支持业务的发展这部分。对于运维负责人而言,上云之后有什么样的技术上的帮助和成长呢?
张楠谈到上云对于运维人员来说当然会有一些帮助,正如昕晖提到的在传统IDC里面做同城灾备是一个成本非常高并且技术难度非常大的工作,但是使用了阿里云之后,阿里云就会提供很多方案帮助实现同城灾备。除此之外,运维人员还会接触到一些新的组件,学习到新的技术和知识。妈妈帮目前日访问量已经超过了百万量级,那么在这种访问量的情况下,有什么样的运维经验或者心得可以进行分享吗?
胡兴邦谈到自己曾经带过一段时间的运维团队,运维经验总结下来就是需要胆大心细,同时能够及时发现问题并且将问题遏制在摇篮之中。 妈妈帮对于安全问题的思考 近期发生了几起成为热点的数据安全问题,比方GitLab数据库被删除事件以及炉石传说数据库问题以及MongoDB黑客赎金事件,那么 妈妈帮对于这些事件有什么样的思考呢? 胡兴邦谈到妈妈帮虽然没有遇到过被勒索的情况,但是流量攻击、CDN攻击还是经历过很多的,妈妈帮技术团队主要会从以下三个方面进行安全防范:阿里云作为云安全服务提供商,有哪些安全产品和服务能提供给像妈妈帮这样的企业呢?
昕晖谈到其实很多互联网初创企业在安全方面做得不是特别完善,这样就会导致很多的安全问题。而阿里云目前有一款产品叫做先知计划,这款产品是由经过阿里云认证的白帽子去帮助客户对系统进行漏洞扫描和发现,并且以悬赏的机制进行付费,这是一种性价比非常高的安全检测解决办法,目前来说先知计划在业界内的口碑非常好,使用过客户都是非常推荐的。另外,云盾中也有一款产品非常适合互联网电商业务,就是WAF——Web应用防火墙,它在防止CC攻击以及短信接口盗发以及防止网络爬虫方面的表现都非常出众,所以也是对于互联网电商用户非常推荐的产品。当然阿里云还有其他的安全产品,比如像高防等。GitLab删库事件也引出了新的话题就是数据库备份的有效性,那么对于妈妈帮的运维团队而言,是如何管理数据库备份的呢?
张楠谈到之前妈妈帮也发现数据库备份策略存在着一些问题,所以看到GitLab等事件发生的时候也会有一些担忧,于是春节后就对数据库备份进行了有效性检查。 叶翔也谈到阿里云作为数据库服务提供商,其实在数据库备份上也做了很多工作,实现了比如像增量备份时间恢复等功能,但是正如之前提到的有备份和备份能不能使用其实是两回事情,所以做好有效性检查其实是更难的一件事情。 妈妈帮大数据战略规划妈妈帮作为母婴类的生活服务平台,那么肯定会有很多用户产生的内容数据,那么妈妈帮在大数据上有哪些规划呢?
胡兴邦谈到大数据是妈妈帮比较看重的一部分,目前用户产生的数据主要是UGC,后面希望为客户提供更丰富的内容。对于母婴品牌而言,可能用户最需要的是与孕期相关的一些知识,未来希望能为准妈妈们提供美食、美妆、旅游以及摄影等各个方面的内容供用户阅读,所以需要更详细地对用户进行画像,通过数据的更新更加深入地了解用户的爱好、性格以及品味等,通过更加精确的建模为用户提供更精细化的服务和产品,更好地服务于个性化的用户。 技术管理经验和对于运维同学的建议 最后胡兴邦分享了一些技术管理方面的经验,他谈到作为技术管理者,需要帮助团队中的每个成员找到成就感。其实每个人在工作时都需要有自我的成就感,这就是对自己的一种奖励,通过成就感这样的奖励就可以形成正反馈,可以使自己对工作产生更浓的兴趣,无论是做产品还是开发都是一样的,这款产品有更多的人使用,能够影响几千万用户改变对于育儿观的认知,或者是开发了一个类库能够帮助团队提高效率,更好地进行开发,都会产生成就感。当成就感提升之后,团队成员就会以更高的效率投入到工作中去,也就会更好地提高自身的技术水平。 张楠也分享了对于运维同学的建议,他谈到虽然近些年技术发展比较迅速,但是想要做好运维就需要脚踏实地,将技术基础打牢,另外一方面还需要抬头看天,看清技术的发展形势,更快地成长。 昕晖在最后也谈到对于妈妈帮的寄语:母婴是垂直电商中一个非常有前景的行业,妈妈帮在内容运营方面已经做得非常好了,并且也开始有业务泛化的场景,希望在未来妈妈帮的业务能够蒸蒸日上,更好地使用阿里云的产品和服务,而阿里云的技术团队也会更好地为妈妈帮提供技术支持。转载地址:http://yiszo.baihongyu.com/