资讯专栏INFORMATION COLUMN

云端监控和移动测试释疑

Hwg / 1940人阅读

摘要:云端监控和服务器管理区别甚远。其后的挑战在于监测各服务性能,并在故障发生时推送电子邮件或以示提醒通知。

           

云端监控和服务器管理区别甚远。在2013上海JavaOne大会上,just.me工程部副总裁Kevin Nilson讲述了云端部署的必要措施,其中涵盖一些AWS平台管理操作时的注意事项。

以下是就云端监控和服务器管理的具体差异、差异相关的应对方案以及app监控和移动测试的必备知识等方面内容对Kevin的采访。

Kevin你好,很高兴你能来。你今早就云端监控做了讲演。那么就你看,从现有服务器向AWS迁移时,监控方面的较大不同是什么?

Kevin: 云端部署会面临很多挑战,其中之一是确知特定时刻正在运行的服务器数量。系统规模会自适应调整,因而无从知晓到底有多少服务器在运行,亦无从知晓这些服务器的性能如何。这会是一种挑战。

另一个特定的挑战在于,云服务建立在商用硬件之上。云中一切共享,但每台服务器并非完全相同。很可能新启动的实例会比你先前使用的实例慢很多。

你要学会以不同的监控粒度查看API性能,一些情况下视整个服务为一体,另一些时候以服务器为性能查看的基本单元。有时,你大致了解API调用的执 行流程,却发现本次调用的性能远低于预期。遇到这种情况,你可以试试删除当前实例并重新申请。毕竟,没有人会愿意为远低于应得的性能付款,而这种情况虽不 常发生但确实存在。

许多人 – 我曾和Pinterest的首席工程师谈过,他们也曾遇到过同样的问题。我还知道Netflix的那群人在这一研究领域做了不少调研,而我们会继续保持对该领域的关注。

还有一件有意思的事情在于,使用云服务时,你常常会终止实例,而终止意味着完全终结。你会失去一切,包括各种日志以及其他类似物。这是另一种挑战。

云端部署的其他挑战源于服务器管理。在just.me我们使用Graphite,一种类似Ganglia的工具。配置特定数量的服务器实例并不困 难,你可以用Graphite对这些服务器进行监控,并以拉模式收集运行时信息。这也是此类工具最常见的用途。不过,在云端使用拉模式意味着每次新实例添 加都必须重启Graphite,重新配置并重启服务器。这显然不合适。

或许你可以试着换个角度。不是让服务器监管所有运行时实例,而是打破常规,让全部运行时实例了解到监视服务器的存在。这样,数据会被运行实例推送给负责汇报的进程,而不是汇报进程从服务器上主动获取。

我认为这是云服务的极大进步。行动前确定方向并考虑清楚,将很大程度上简化我们想做的事。

阅读需要支付1元查看
<