发布于: Feb 14, 2022
爱上一个人是愿意倾尽所有为 TA 付出,是不顾一切地包容、爱护和满足如何才能让心爱的 TA在未来的每一个情人节都陪你度过?什么样的惊喜,能让 TA 无法拒绝呢?不如,送 TA 一个浪漫又特别的婚礼,每个女孩都曾幻想过自己的婚礼,身穿洁白的婚纱走过铺满鲜花的礼堂,步入婚姻的殿堂但是如何才能打造这样一个完美的、终生难忘的婚礼呢?接下来,亚马逊云科技以及这家专为新娘寻找婚礼灵感的一站式商店-Bridestory将为您解答。
Happy Valentine's Day
Bridestory 于 2014 年问世,是一家为新娘寻找婚礼灵感并与潜在婚庆供应商联系的一站式商店。Bridestory 总部位于印度尼西亚,其应用程序拥有扩张迅速的用户群体,包括菲律宾和新加坡的用户,目前访客数达到约 70 万。成立两年后,这家初创公司经历了由整体架构带来的成长之痛。迭代缓慢以及在部署和扩展方面遇到的困难的导致上市延期,而这正是当务之急。
Bridestory 在亚马逊云科技云中构建了其原始架构,并开始向亚马逊云科技架构师咨询关于迁移到基于容器的更敏捷的现代化应用架构。
多尼·哈纳菲表示使用亚马逊云科技以后,Bridestory 获得了诸多优势:每日执行部署,而非每三周执行一次;实现低于1%的故障率;自动升级以适应不断扩大的全球用户群;将新品牌的上市时间缩短三倍;提高生产力与员工工作满意度,从而提升员工留任率。
“自 2018 年底以来,我们不断达到我们的指标。以前,我们平均需要三周时间来发布一个大型功能,而现在我们的开发人员每天都可以进行小型发布,故障率低于1%。”
—— Bridestory 首席技术官 多尼·哈纳菲
Bridestory 正在使用的亚马逊云科技服务包括:亚马逊弹性容器服务 Amazon ECS/Amazon EKS、关系型数据库服务 Amazon RDS、数据库迁移服务 Amazon DMS。
从单体到微服务
Bridestory 的首席技术官多尼·哈纳菲和他的团队开始使用亚马逊云科技容器编排服务(Amazon ECS),将应用程序分解为更小的服务。Bridestory 以上市时间和可靠性为关键指标,计划每隔几天部署更新一次,以降低故障率。
前三到四个月的时间用于探索各种技术堆栈,为目标工作负载寻找合适的基础设施,旨在寻找一种能够通过自动升级提高敏捷性的解决方案。随后这家初创公司开始从在微服务环境中构建新功能开始,逐步将应用进一步解耦。
Bridestory 使用亚马逊关系型数据库服务(Amazon RDS)存储所有业务数据,由此发现数据库迁移服务(Amazon DMS)在迁移过程中十分有用。哈纳菲表示:“通过使用 Amazon DMS,我们可以实时备份数据,将数据从单体架构的旧 RDS 数据库同步到新的微服务数据库。
此外,我们可以轻松地在 Amazon RDS 中创建备份,我们会经常在我们的BI工具中使用它。备份非常可靠,到目前为止我们还没有遇到任何重大数据问题。”
相同的架构,不同的品牌
新的微服务架构改变了运营的方式。Bridestory 还使用其容器化基础设施推出了一款名为 Parentstory 的新应用。他解释道,“隔离是我们新的多租户微服务模型的关键,我们一直在与亚马逊云科技的架构师一起探索如何使用相同的架构和源代码,去运营完全不同的品牌、客户和数据库。”这种“可循环利用”的方法使该团队发布 Parentstory 应用程序的速度比发布 Bridestory 的速度快了几乎三倍。
通过使用亚马逊云科技的服务,哈纳菲的团队也变得更有效率。他总结道:“目前我们正在转向使用更为通用的全托管式 Kubernetes 容器编排服务(Amazon EKS),这将让我们在隔离资源方面更为灵活。在亚马逊云科技的技术和服务的助力下,我们正在探索新的学习和试验的方式,这对工程师来说是很关键的,也能够提高员工留任率。”
Bridestory 和 Parentstory 的亚马逊云科技基础设施示意图