How to develop and operate cloud native data platforms and applications

如今,人们可以在几秒钟内轻松地在AWS等云服务上启动或终止具有成百上千个计算实例的服务。但是,如果相应的系统不是以云原生方式设计的,那么操作,监视和维护这些资源也很容易成为噩梦。

在本次演讲中,我们分享了在Electronic Arts(EA)建立和重建监控系统和数据平台的经验教训。在第一代监控系统中,为许多单独的软件组件手动创建了配置,并分布在所有资源上。随着服务随着时间的流逝而迅速启动和终止,要使所有配置保持最新状态非常困难。因此,平均每天我们收到来自数千台机器的1,000多个警报,这给运营团队带来了压力。我们在2018年末的一个名为代码监控(MAC)的项目中重新设计了系统,重点是版本控制和自动化。 MAC使用GIT项目以与软件代码相同的方式管理所有配置。此外,它建立了标准,以便自动生成和部署配置以使所有内容保持同步。结果,它将每日平均警报数量减少了两个数量级。

在第一代数据平台中,我们将HDFS用作ETL作业和基础AWS存储服务S3之间的缓存层。但是,HDFS不是专用的缓存服务,因此需要自定义代码才能使其像缓存一样工作。我们必须在每个ETL作业中运行备份工作流,以将数据备份到S3,并同步在HDFS上运行的ETL作业和直接在S3上运行的交互式分析查询的元数据存储。此外,当群集承受重负载时,我们依靠复杂而脆弱的机制清除数据集。 HDFS的使用也使在高峰时段快速扩展YARN群集并在非工作时间缩减规模成为一个挑战。我们目前正在重新设计数据平台,主要是通过将HDFS替换为名为Alluxio的专用数据编排服务。在我们的初步评估中,Alluxio不仅提供了比HDFS更好的性能,而且还大大简化了我们的数据平台的体系结构,并使其易于扩展和缩减,并为云原生ETL处理堆栈铺平了道路。

展开查看详情

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.