亚马逊AWS官方博客

优化 AWS 流量的延迟和带宽 | AWS 初创公司博客

互联网公司需要优化。

随着网站个性化增加了动态内容的数量,在全球范围内更新该内容变得越来越困难。迄今为止最好的解决方案是内容分发网络 (CDN),但最初开发的 CDN 是为了优化静态而非动态内容的更新。

结果是需要优化互联网,特别是延迟、带宽和成本。这正是 Datapath.io 提供的解决方案。Datapath.io 正在为 AWS 客户(从 AWS 到其最终用户)优化网络流量。在下面的文章中,我将讨论互联网问题、解决方案以及构建 Datapath.io 解决方案时获得的经验教训。

问题

问题是双重的:互联网速度和互联网成本。

延迟和带宽问题会降低与 CDN 或用户的互联网连接速度。目前,通过使用最佳逻辑路径的边界网关协议 (BGP) 路由互联网流量。但是,逻辑路径不一定是最快的路径;例如,BGP 路径可能达不到最佳延迟或带宽不足。

这种情况会导致网络拥塞、数据包丢失和抖动,从而导致负面的用户体验。反过来,负面的用户体验会影响公司的业务,例如较低的转化率和较高的跳出率。

公司可能遇到的第二个问题是使用 CDN 的互联网流量成本。由于 CDN 很难优化动态内容,因此您可能要为 CDN 上的动态内容付费,但几乎没有分发改进。

一般解决方案

必须在 BGP 级别制定针对延迟、带宽和成本优化流量的解决方案。由于 BGP 路径通常在速度和成本方面并非最佳路径,因此需要覆盖该路径并选择不同的路径。

此过程必须考虑不同的 ISP 以及用户的特定业务要求。在某些情况下,用户需要优化延迟或带宽的路径,而在其他情况下,应最优先考虑路由的成本。

Datapath.io 解决方案

为了帮助您和您的公司解决这些问题,Datapath.io 提供了一个含有网络性能监控工具和流量优化工具的两部分组成的系统。Datapath.io 还提供全局延迟映射和网络监控控制面板,此面板通常集成为开发运营的一部分以监控网络流量。然后,根据您的网络流量和业务要求,您可以设置流量规则。以下屏幕截图显示了映射和控制面板的示例。

Datapath.io 全局延迟映射

Datapath.io 网络监控控制面板

在控制面板上,您可以添加云提供商。由于我们与 AWS 轻松集成,您只需点击右侧的“链接 AWS”按钮,即可完成链接 AWS 账户所需的所有操作。链接帐户后,您可以分配弹性 IP 并创建规则。这些规则允许您运行流量分析报告,如以下屏幕截图所示。

使用 AWS 的 Datapath.io 流量分析报告

流量规则使您能够指定流量的优化方式。您可以根据延迟、带宽或成本优化流量。

为了构建和部署我们的解决方案,Datapath.io 使用针对托管、备份、部署和 Direct Connect 的 AWS 基础设施。易用性和集成性使得 AWS 的使用体验更加出色。具体来说,我们使用以下 AWS 服务:
Amazon S3
Amazon EC2
Elastic Load Balancing
AWS Direct Connect

AWS 基础设施为我们提供了构建解决方案并将其部署到客户的工具。我们还利用了 AWS Activate 计划。

在识别互联网流量问题和构建 Datapath.io 解决方案的过程中,我们已经了解了一些我们希望分享的内容。

通过 Datapath.io 学到了什么

在过去一年中,我们在构建 Datapath.io 解决方案的过程中学到了很多东西。

虽然在构建 SaaS 初创公司时很难简化学习体验列表,但我希望将重点放在从构建业务到开发技术产品的五个方面:可扩展性、愿景、敏捷、经验和人员。我们知道这些主题不具有革命性,但我们希望我们的经验能够提供独特的视角。

可扩展性

可扩展性对我们意味着从大处着眼。这意味着从第一天开始就采用增长策略。在开发过程中,它通常意味着消除开发瓶颈,以便您可以轻松添加指数数量的新客户。

Datapath.io 系统构建为具有消息收发模式的分发式微服务。我们使用 RabbitMQ 作为微服务环境的调节变量。我们将结果作为 HDFS 导出并存储在 Hadoop 文件系统中。然后我们使用 Apache Spark 来运行大数据计算。此设置创建了一个可水平扩展的系统,使我们能够以极低的额外成本轻松集成更多的存储和计算容量。

在培训客户和发展业务之前,我们必须仔细规划和实施我们的架构。这是我们技术成功的基础。

愿景

有愿景并不新鲜,而且如何强调愿景都不为过。不经要拥有愿景,还要有清晰的愿景,为该愿景制定使用案例,并将愿景传达给他人执行。

在 Datapath.io,我们感到了因忽视将愿景完全传达给组织中每个人而带来的痛苦。我们已经意识到让每个人朝着同一方向前进的重要性。

为了传达愿景,我们需要的不仅仅是沟通。我们需要在各个层面落实支持愿景的流程和工具。这正是敏捷方法使我们的组织受益的地方。敏捷帮助我们确定任务的优先级,我们的冲刺会议让所有人达成共识。

敏捷

对我们来说,敏捷帮助传达了我们的愿景,但首先我们必须通过压力考验来学习真正的敏捷。

一开始,我们认为“敏捷”基本上意味着“开放式沟通”。 后来我们了解到它远不止于此。

对于 Datapath.io,进入敏捷过程意味着实施一组工具、将任务组织成冲刺、定义职责和消除开发瓶颈。这让我们更接近敏捷。为了确保定期执行所有这些项目,我们每天都会召开冲刺会议。

最后还有重要的一点是,必须测试所有项目。“及早测试和经常测试”一直是我们开发过程的口头禅。

经验

Datapath.io 尝试了大数据。我们使用 Cassandra 并跟踪人群心态,即每个人都应该研究大数据。由于我们没有在该领域的经验,实施过程并不完美。收集完所有数据后,我们无法提取数据。新手错误。

我们得到的经验是,有时坚持有过经历的过程会带来好处。如果您没有经验,请获得经验,这样就不会浪费时间。时间就是金钱,当我们努力发布时,时间至关重要。

人员

最后一个重要的经验教训是与人员合作。在初创公司领域,将资源专注于管理人员并非总是最前沿的举措。它也倾向于反对所谓的“初创公司文化”。 这是个错误。团队中的每个人都有不同的个性和技能。提供利用这些的最佳环境是领导者的工作。我们试图记住,我们希望员工加入团队是有原因的,所以现在让我们解锁这个原因,并帮助他们取得最佳的工作表现。

展望未来

展望未来,前途是光明的,我们对下一阶段的增长感到兴奋。我们即将在柏林和美国分别成立一家办事处。此外,我们正在努力扩展,以便为更多内容提供商提供流量优化。

在您建立初创公司时,我们希望与您分享的内容可以帮助您更有效地实现您的愿景。我们由首席执行官兼联合创始人 Sebastian Spies 领导,他是 BGP 专家。这些知识为开发 Datapath.io 解决方案提供了深刻见解。Datapath.io 团队随时愿意与您建立联系并讨论最佳实践。我们有很多内容要分享,并且仍然有很多东西要学习。