在图像上无服务

照片是我们家居购物之旅中最重要的元素之一。搜索结果页面中显示的几乎80%的信息纯粹是视觉的。大约85%的用户互动与我们的移动应用程序中的图像库互动,我们每天收到数百万的点击次数。照片质量和分辨率的趋势在一天中不断改进,我们正在接收来自所有来源的更大和更优质的房屋信息。在Realtor.com,我们努力在所有面向消费者的UIS上快速图像显示高质量照片。为了继续实现这一目标,我们完成了一项主要的技术转型,以便无服务,这篇文章详情了我们的旅程。

继续阅读 “在图像上无服务”

服务组件测试:持续交付充满信心

交货速度是今天的一个关键指标。特征和想法需要更快地向客户提供,以便更快地收集反馈,并且可以更改或调整产品以增加成功的机会。然而,在编写代码和运输代码之间介于关键的测试步骤,这可能是许多工程团队的瓶颈。

为了解决这个问题,团队聘请了测试人员编写了许多自动化测试。大多数测试被写入以其全部内容运行系统(即将到达客户的手中的网产品的近似表示),并以类似于客户将如何执行它们的方式执行场景。这些测试称为端到端(E2E)测试。但是,他们很快意识到E2E测试通常会受到不可靠性,片状,缓慢等困扰。这发生是因为对于E2E测试,所测试的系统的边界太大。由于系统的每个部分都有失败的概率,因此在被测系统中存在的距离越多,系统的净失败概率越高,因此对其运行的测试。

因此,团队然后将焦点改为编写单元测试,其中系统的系统是最小的,因此测试失败的可能性是最低的。然而,由于非常微小的系统边界,单位测试在测试特征或产品的增值不是很好。

因此,需要另一种类型的测试,其中系统的系统的边界是中间的某个地方,以便能够测试我们正在运送的软件的主要价值,但在控制下具有失败的可能性。在这篇文章中,我们提供了在Realtor.com上进行的组件测试方法进行案例研究。

继续阅读 “服务组件测试:持续交付充满信心”

一个更好的ECS.

随着更多的应用程序服务迁移到AWS云,可以快速地出现模式,其中EC2资源大大未充分利用。虽然各种EC2实例类型和自动播放选项有助于将消耗的基础架构与当前需求匹配,但许多服务仍然很少使用可用内存,CPU或带宽。为了更好地利用可用资源,AWS提供了弹性容器服务(ECS),这使得多个服务能够在一组EC2实例上运行。

移动到ECS的开发人员很可能遇到难以按预期运行实例自动操作的困难。本文介绍了我们如何通过在现场实例上运行我们的Dev和QA EC2实例,通过在现场实例上运行Dev和QA EC2实例来节省资金,以管理群集的几种其他管理改进和最佳实践来节省资金。

继续阅读 “A Better ECS”

删除堆栈时清空垃圾

在某些情况下,您可能需要旋转一个CloudFormation.短暂的堆栈。也许您正在使用自己的AWS资源创建项目的私人构建。如果那个短暂的云云设置堆栈配置了一个S3创建桶和对象,然后您无法成功调用Delete Stack命令。

继续阅读 “删除堆栈时清空垃圾”

使用自定义资源创建更强大的CloudFormation模板

任何正在寻求将其代码放出门的开发人员都没有什么新的。不幸的是,这种方法经常回来困扰你。一个副作用是硬编码可以随着时间的推移产生安全漏洞,特别是在云基础设施方面。
继续阅读 “使用自定义资源创建更强大的CloudFormation模板”