仪表盘设计师访谈录之三-- Server Density首席执行官David Mytton

ServerDensity是一款SaaS工具,帮助系统管理员通过单一界面管理多个网站和服务器。它集成了主要的云服务供应商,提供监控、问题诊断等功能。本文介绍了其仪表盘的设计理念和技术实现。
仪表盘设计师对话录是一个访谈系列,访谈对象有产品经理、软件产品开发人员和设计师,他们设计了功能强大且可用性极高的仪表盘,而这个访谈录将会介绍这些仪表盘背后的故事,这里是本系列的第三篇。

想象一下系统管理员的一天是怎样度过的?他必须持续关注服务器负载,确保网站能够正常访问,同时保证访问速度。但是如果有多个网站需要管理呢?如果这些网站部署在多家云服务供应商的服务器上呢?当某些网站或服务器有问题时该怎么办?心急火燎地点击一个接一个的云服务器商的网页吗?

好吧,这听上去有点儿傻。Server Density可以让系统管理员的生活轻松一点。该应用能与主要的云服务供应商进行同步,为用户提供管理多个网站和服务器的单一界面。它可以监控部署在全球各地的网站,将其与内置的指标相结合,这样系统管理员就能知道网站在何时宕机,原因为何。该应用还能帮助系统管理员对那些可能发展为问题的趋势进行预判。

我最近跟Server Density的创始人和首席执行官David Mytton聊了聊,讨论了他们在构建仪表盘时是如何考虑的,以及如何看待数据可视化这个行业。现摘录如下:



Server Density是什么?它是如何帮助用户解决问题的?

Server Density是一个SaaS工具,帮助系统管理员对基础架构进行管理。它与主要的云服务供应商进行集成,允许管理员通过单一窗口来管理多个网站和服务器。管理员还可以进行问题诊断,保持网站在线,并优化访问速度。

在产品中加入仪表盘的主要动机是什么?
Server Density目前和今后的核心功能都是监控。之前我们为管理员分析问题提供了出色的历史数据图表,但这只是当问题发生时才会如此(比如收到了一条警报) -- 这非常被动。我们的仪表盘为整个基础设施提供了良好的可见性,帮助系统管理员在问题发生之前对一些值得怀疑的趋势进行诊断。Server Density是针对整个IT基础设施的管理解决方案,在简单的被动式监控之外还提供丰富功能。

主要用户群是谁?这个仪表盘对这些用户有帮助吗?
从前我们的用户主要是系统管理员,现在开发团队也成了我们的目标用户。我们的目标用户群是那些有一个或多个网站(以及一台服务器)并且迫切希望保持网站在线的人。

我们的仪表盘让用户可以诊断趋势,针对用户事先定义的任何数量的指标提供实时快照,其目标是为用户提供一个解决问题的平台。该应用提供高层次诊断,在用户不知道问题的具体原因时可以从这里着手。


运营商仪表盘是最近被加入产品中的,聊聊这个仪表盘的功能吧。

Server Density从一开始就有一个功能全面的仪表盘,但是新版本对此进行了扩充,把来自第三方的相关数据也整合了进来。如果你在使用多个的供应商和托管服务,在关注自定义指标和警告的同时理解这些来自供应商的数据也非常重要。


你是如何构建仪表盘的?做出了哪些技术决策?

我们在整个应用的UI中都使用了CoffeeScript和Backbone,因为它们令开发变得更加便捷。很多仪表盘都是根据用户需求进行定制的,而这种可定制是通过Gridster实现的,这是一个允许构建直观的跨平台、可拖拽界面的jQuery插件。除此之外,其他小部件的界面根据应用的整体风格进行了定义。

最初我们估计要引入很多外部类库才能完成仪表盘,但是最后发现只需要Gridster,再加上我们已有的CoffeeScript/Backbone,就够了。

你在设计仪表盘时都考虑了什么?
我们的主要出发点是希望为仪表盘打下坚实的基础,为我们今后进一步扩充功能提供必要的灵活性。Server Density的用户理解自己的系统,常常希望通过自己喜欢的方式来查看所管辖的IT基础设施。出于这个原因,我们认识到有些东西对于我们的仪表盘是必不可少的:
  • 可以建立多个仪表盘并由用户命名
  • 用户自定义仪表盘
  • 可定制的外观界面
添加这样一个仪表盘是否带来了某些商业利益(比如说增长)?
很难将增长归结到某个的功能上,比如仪表盘,因为我们在过去六个月里发布了大量新功能。我们所做的一切都是因为客户存在这样的需求。但是在去年11月份引入仪表盘之后,付费客户的转化率有了非常明显的提升。



你认为仪表盘对于软件产品来说重要吗?

这一点毫无疑问。任何在线业务都需要维持并改善在线时间,而仪表盘可以让用户主动地实时关注那些可能发展为问题的趋势。在办公室里通过一个大显示器来展示这些仪表盘,可以让多个团队都注意到这个问题,而不是依赖某个人在恰当的时间恰好打开了正确的页面才能发现问题。

你如何看待数据可视化行业在2014年的发展?

随着技术的不断发展,我们看到了所谓“大数据”的爆发。我们身边的一切都在持续不断地制造数据,而我们需要让这些数据变得有意义,让数字与真实世界结合起来。数据可视化就是实现这一目的的关键所在,让我们可以理解这个变得日益连接的世界。


已经博主授权,源码转载自 https://pan.quark.cn/s/053f1da40351 在计算机科学领域,MIPS(Microprocessor without Interlocked Pipeline Stages)被视作一种精简指令集计算机(RISC)的架构,其应用广泛存在于教学实践和嵌入式系统设计中。 本篇内容将深入阐释MIPS汇编语言中涉及数组处理的核心概念与实用操作技巧。 数组作为一种常见的数据结构,在编程中能够以有序化的形式储存及访问具有相同类型的数据元素集合。 在MIPS汇编语言环境下,数组通常借助内存地址与索引进行操作。 以下列举了运用MIPS汇编处理数组的关键要素:1. **数据存储**: - MIPS汇编架构采用32位地址系统,从而能够访问高达4GB的内存容量。 - 数组元素一般以连续方式存放在内存之中,且每个元素占据固定大小的字节空间。 例如,针对32位的整型数组,其每个元素将占用4字节的存储空间。 - 数组首元素的地址被称为基地址,而数组任一元素的地址可通过基地址加上元素索引乘以元素尺寸的方式计算得出。 2. **寄存器运用**: - MIPS汇编系统配备了32个通用寄存器,包括$zero, $t0, $s0等。 其中,$zero寄存器通常用于表示恒定的零值,$t0-$t9寄存器用于暂存临时数据,而$s0-$s7寄存器则用于保存子程序的静态变量或参数。 - 在数组处理过程中,基地址常被保存在$s0或$s1寄存器内,索引则存储在$t0或$t1寄存器中,运算结果通常保存在$v0或$v1寄存器。 3. **数组操作指令**: - **Load/Store指令**:这些指令用于在内存与寄存器之间进行数据传输,例如`lw`指令用于加载32位数据至寄存器,`sw`指令...
根据原作 https://pan.quark.cn/s/cb681ec34bd2 的源码改编 基于Python编程语言完成的飞机大战项目,作为一项期末学习任务,主要呈现了游戏开发的基本概念和技术方法。 该项目整体构成约500行代码,涵盖了游戏的核心运作机制、图形用户界面以及用户互动等关键构成部分。 该项目配套提供了完整的源代码文件、相关技术文档、项目介绍演示文稿以及运行效果展示视频,为学习者构建了一个实用的参考范例,有助于加深对Python在游戏开发领域实际应用的认识。 我们进一步研究Python编程技术在游戏开发中的具体运用。 Python作为一门高级编程语言,因其语法结构清晰易懂和拥有丰富的库函数支持,在开发者群体中获得了广泛的认可和使用。 在游戏开发过程中,Python经常与Pygame库协同工作,Pygame是Python语言下的一款开源工具包,它提供了构建2D游戏所需的基础功能模块,包括窗口系统管理、事件响应机制、图形渲染处理、音频播放控制等。 在"飞机大战"这一具体游戏实例中,开发者可能运用了以下核心知识点:1. **Pygame基础操作**:掌握如何初始化Pygame环境,设定窗口显示尺寸,加载图像和音频资源,以及如何启动和结束游戏的主循环流程。 2. **面向对象编程**:游戏中的飞机、子弹、敌人等游戏元素通常通过类的设计来实现,利用实例化机制来生成具体的游戏对象。 每个类都定义了自身的属性(例如位置坐标、移动速度、生命值状态)和方法(比如移动行为、碰撞响应、状态更新)。 3. **事件响应机制**:Pygame能够捕获键盘输入和鼠标操作事件,使得玩家可以通过按键指令来控制飞机的移动和射击行为。 游戏会根据这些事件的发生来实时更新游戏场景状态。 4. **图形显示与刷新**:...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值