mytaxi 案例研究
2016 年
mytaxi 基于 AWS 设计了一款采用速度快且可轻松扩展的 Docker 容器的微服务架构,以应对新年除夕等特别日子的需求高峰。该公司运行着欧洲领先的出租车应用程序,此应用程序在 40 个城市中将 1000 万用户与 45000 辆出租车联系起来。整个基础设施都构建在 AWS 之上,其中的 Amazon EC2 和 Amazon ECS 等服务可为 mytaxi 的 Docker 容器提供支持。
“我们的用户希望得到持续的服务,否则,他们就会另辟蹊径。借助 AWS,我们实现了不可思议的服务可用性。”
Sebastian Herzberg
mytaxi 系统工程师
挑战
对于 mytaxi 来说,可靠性是重中之重,因为通常仅是一个糟糕体验就足以让客户转而选择竞争对手。“我们需要提供无中断的全天候服务。”系统工程师 Sebastian Herzberg 解释道,“如果客户深夜在外,他们需要靠这款应用程序将他们安全送回家中。我们无法承受它发生任何停机。” 要达到这种程度的服务连续性,公司需要可以在出现大量需求时能实现大规模扩展的弹性基础设施。例如,在新年除夕,mytaxi 的基础设施需要处理的数据流量比平常的夜晚高出 350 个百分点,这才是真正经受考验。“异常情况为我们带来了异常激烈的挑战。对我们的声誉而言,扩展能力和应对需求高峰的能力至关重要。”Sebastian Herzberg 说道,
“我们的应用程序不仅便于客户使用,还便于开发人员维护和改进,我们希望成为行业的创新开拓者。成本也不容忽视,因为性能和性价比都需要恰到好处。另外,我们需要使用欧洲的数据中心,以维持低延迟和母公司 Daimler 严格的数据隐私标准。”
为什么选择 Amazon Web Services
鉴于自身基于增长的扩展模式,mytaxi 最初就决定采用 Amazon Web Services (AWS)。据 Herzberg 说:“我们只需要支付所需资源的费用,并且不需要在前期投资几十万美元,因此,AWS 当然是我们的首选。” 借助新兴的技术,mytaxi 的基础设施得到了进一步的发展。最新的发展是迁移到 Docker 容器上的微服务架构。
mytaxi 在欧洲(爱尔兰)区域运行多个可用区 (AZ) 并使用 Amazon Elastic Compute Cloud (Amazon EC2) Spot 实例和 Amazon EC2 Container Service (Amazon ECS) 来支持其 Docker 容器。“我们现在是 Daimler 的子公司,因此,我们必须遵守异常严格的欧洲数据隐私标准。”Herzberg 说道,“换句话说,我们的工作地点设置在欧洲爱尔兰非常完美。我们运行了约 40 个 Amazon EC2 实例,这些实例均属于不同的 Amazon ECS 集群。我们的主基础设施跨约 50 个微服务分布,其中,我们针对每个服务使用最多 10 个 Docker 容器。” 通过使用 Elastic Load Balancing,mytaxi 可以确保负载在服务器间的分配,而 Amazon CloudWatch 可帮助团队监控负载的分配情况。
公司将 Amazon Simple Storage Service (Amazon S3) 用作存储库,且数据库运行在 Amazon Relational Database Service (Amazon RDS) 上,这让复制变得轻而易举。所有服务均以消息代理的身份访问 Amazon Simple Queue Service (Amazon SQS) 和 Amazon Simple Notification Service (Amazon SNS)。为了在应用程序中向乘客提供出租车当前的准确位置,mytaxi 现在还使用了 Amazon 的 IoT 服务。
出于安全原因,mytaxi 使用虚拟专用网络连接其 AWS 资源,这些资源属于 Amazon Virtual Private Cloud (Amazon VPC)。公司还使用 AWS Support 商业计划以能够快速回答特定的技术问题或针对新服务给出建议。
效益
使用 Amazon Elastic MapReduce,Yelp 可以节省 55000 USD 用于前期购置硬件的资金,并且从设置到运行只需几天,而不是数月。然而,对于 Yelp 而言,最重要的是机会成本。“借助 AWS,我们的开发人员现在可以做到之前无法完成的事情。” Marin 说,“我们的系统团队可以集中精力应对其他挑战。”
关于 mytaxi
mytaxi 使用 Docker 容器在 AWS 上设计了一种微服务架构,该架构快速且易于扩展。
AWS 的优势
- 使用 Amazon EC2 Spot 实例将成本降低了 40%
- 轻松预测每天和每周的使用高峰
- 获得弹性,可以满足特殊活动期间的需求
使用的 AWS 服务
Amazon S3
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。
全球基础设施
全球各地的公司都在转向基于云的基础设施,以提高 IT 敏捷性、获得无限的可扩展性、提高可靠性并降低成本。
Amazon ECS
Amazon Elastic Container Service (Amazon ECS) 是一种高度可扩展的高性能容器编排服务,支持 Docker 容器,让您可以在 AWS 上轻松运行和扩展容器化应用程序。
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可调整大小的计算容量。
开始使用
各行各业中所有规模的公司都在使用 AWS 对其日常业务进行转型。联系我们的专家,立即踏上您的 AWS 云之旅。