分类 观点 下的文章

我们对微服务的需求可以归纳为一个词:速度。这种更快提供功能完善且可靠的软件的需求,彻底改变了软件开发模式。毫无疑问,这个改变对软件管理,包括系统监控的方式,都产生了影响。在这篇文章里,我们将重点关注放在有效地监控产品环境中的微服务所需做出的主要改变。我们将为这一新的软件架构拟定 5 条指导性原则来调整你的监控方法。

监控是微服务控制系统的关键部分,你的软件越复杂,那么你就越难了解其性能及问题排障。鉴于软件交付发生的巨大改变,监控系统同样需要进行彻底的改造,以便在微服务环境下表现更好。下面我们将介绍监控微服务的 5 条原则,如下:

  1. 监控容器及其里面的东西。
  2. 在服务性能上做监控,而不是容器性能。
  3. 监控弹性和多地部署的服务。
  4. 监控 API。
  5. 将您的监控映射到您的组织结构。

利用这 5 条原则,你可以在向微服务前进的道路上,建立更有效的对微服务的监控。这些原则,可以让你应对随着微服务而来的技术变化和组织变化。

微服务监控的原则

1、监控容器及其里面的东西

容器因构建微服务而凸显其重要性,容器的速度、可移植性和隔离特性让开发者很容易就爱上了微服务模型。容器的好处已经写的够多了,毋庸赘述。

容器对于其外围的系统来说就像是黑盒子。这对于开发来说大有裨益,从开发环境到生产环境,甚至从开发者的笔记本到云端,为它们带来高度的可移植性。但是当运行起来后,监控和解决服务问题时,这个黑盒子让常规的方法难以奏效了,我们会想:容器里到底在运行着什么?程序和代码运行性能如何?它有什么重要的输出指标吗?从 DevOps 的视角,你需要对容器有更深的了解而不是仅仅知道有一些容器的存在。

非容器环境下衡量的典型做法,是让一个代理程序运行在主机或者虚机上的用户空间里,但这并不适用于容器。因为容器的优点是小,将各种进程分离开来,并尽可能的减少依赖关系。

而且,从规模上看,成千上万的监测代理,对即使是一个中等大小的部署都是一个昂贵的资源浪费和管理的噩梦。对于容器有两个潜在的解决方案:1)要求你的开发人员直接监控他们的代码,或者2)利用一个通用的内核级的检测方法来查看主机上的所有应用程序和容器活动。这里我们不会深入说明,但每一种方法都有其优点和缺点。

2、 利用业务流程系统提醒服务性能

理解容器容器中的运行数据并不容易,一个单一容器相比组成一个功能或服务的容器聚合,测量复杂度要低得多。

这特别适用于应用程序级别的信息,比如哪个请求拥有最短响应时间,或者哪些 URL 遇到最多的错误,但它同样也适用于架构级别的监测,比如哪个服务的容器使用 CPU 资源超过了事先分配的资源数。

越来越多的软件部署需要一个 编排系统 orchestration system ,将应用程序的逻辑规划转化到物理的容器中。常见的编排系统包括 Kubernetes、Mesosphere DC/OS 和 Docker Swarm。团队可以用一个编排系统来(1)定义微服务(2)理解部署的每个服务的当前状态。你可以认为编排系统甚至比容器还重要。容器是短暂的,只有满足你的服务需求才会存在。

DevOps 团队应该将告警重点放到运行特征上,以尽可能贴近监控服务的体验。如果应用受到了影响,这些告警是评估事态的第一道防线。但是获得这些告警并不容易,除非你的监控系统是基于原生于容器的。

原生容器 Container-native 解决方案利用 编排元数据 orchestration metadata 来动态聚合容器和应用程序数据,并按每个服务计算监控度量。根据您的编排工具,您可能想在不同层次进行深入检测。比如,在 Kubernetes 里,你通常有 Namespace、ReplicaSet、Pod 和一些其他容器。聚合这些不同的层,对排除逻辑故障是很有必要的,与构成服务的容器的物理部署无关。

3、 监控 弹性 Elastic 多地部署 Multi-Location 的服务

弹性服务不是一个新概念,但是它在原生容器环境中的变化速度比在虚拟环境中快的多。迅速的变化会严重影响检测系统的正常运行。

监测传统的系统经常需要根据软件部署,手动调整检查指标。这种调整可以是具体的,如定义要捕获的单个指标,或基于应用程序在一个特定的容器中的操作配置要收集的数据。在小规模上(比如几十个容器)我们可以接受,但是再大规模就难以承受了。微服务的集中监控必须能够自由的随弹性服务而增长和缩减,无需人工干预。

比如,如果 DevOps 团队必须手动定义容器包含哪个服务需要监控,他们毫无疑问会失手,因为 Kubernetes 或者 Mesos 每天都会定期创建新的容器。同样,如果代码发布并置于生产环境时要求运维团队安装一个 定制的状态端点 custom stats endpoint ,也给开发者从 Docker 仓库获取基础镜像带来更多的挑战。

在生产环境中,建立面向跨越多个数据中心或多个云的复杂部署的监控,比如,如果你的服务跨越私有数据中心和 AWS,那么亚马逊的 AWS CloudWatch 就很难做到这一点。这就要求我们建立一个跨不同地域的监控系统,并可在动态的原生容器环境下运行。

4、 监控 API

在微服务环境中,API 接口是通用的。本质上,它们是将服务暴露给其它团队的唯一组件。事实上,API 的响应和一致性可以看作是“内部 SLA”,即使还没有定义一个正式的 SLA(服务等级协议)。

因此,API 接口的监控也是必要的。API 监控可以有不同的形式,但是很显然它绝对不是简单的二进制上下检查。例如,了解像时间函数这样的最常使用的 端点 endpoint 是有价值的。这使得团队可以看到服务使用的变化,无论是由于设计变更或用户的改变。

你也可以记录服务最缓慢的端点,这些可能揭示出重大的问题,或者至少指向需要在系统中做优化的区域。

最后,跟踪系统服务响应的能力是另一个很重要的能力,它主要是开发者使用,也能帮助你了解整体用户体验,同时将信息基于底层和应用程序视角分成两大部分。

5、 将您的监控映射到您的组织结构

这篇文章着重在微服务和监控上,像其他科技文章一样,这是因为很多人都关注此层面。

对于那些熟悉 康威定律 Conway’s law 的人来说,系统的设计是基于开发团队的组织结构。创造更快,更敏捷的软件的压力推动了团队去思考重新调整他们的开发组织和管理它的规则。

所以,如果他们想从这个新的软件架构(微服务)上获益,他们的团队必须将微服务映射到团队自身中。也就是说,他们需要更小的更松散耦合的团队,可以选择自己的方向只要能够满足整个需求即可。在每一个团队中,对于开发语言的使用,bug 的提交甚至工作职责都会有更大的控制能力。

DevOps 团队对此可以启用一个监控平台:让每一个微服务团队可以有自己的警报,度量指标,和控制面板,同时也要给出整体系统的视图。

总结

让微服务流行起来的是快捷。开发组织要想更快的为客户提供更多的功能,然后微服务技术就来了,架构转向微服务并且容器的流行让快捷开发成为可能,所有相关的进程理所当然的搭上了这辆火车。

最后,基本的监控原则需要适应伴随微服务而来的技术和结构。越早认识到这种转变的开发团队,能更早更容易的适应微服务这一新的架构。


via: http://thenewstack.io/five-principles-monitoring-microservices/

作者:Apurva DaveLoris Degioanni 译者:jiajia9linuxer 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

塞尔维亚共和国诺维萨德大学的自然科学系和数学与信息学系,我们教学生很多东西。从编程语言的入门到机器学习,所有开设的课程最终目的是让我们的学生能够像专业的开发者和软件工程师一样思考。课程时间紧凑而且学生众多,所以我们必须对现有可利用的资源进行合理调整以满足正常的教学。最终我们决定将机房计算机系统换为 Fedora。

以前的设置

我们过去的解决方案是在 Ubuntu 系统上面安装 Windows 虚拟机并在虚拟机下安装好教学所需的开发软件。这在当时看起来是一个很不错的主意。然而,这种方法有很多弊端。首先,运行虚拟机导致了严重的计算机性能的浪费,因此导致操作系统性能和运行速度降低。此外,虚拟机有时候会在另一个用户会话里面同时运行。这会导致计算机工作严重缓慢。我们不得不在启动电脑和启动虚拟机上花费宝贵的时间。最后,我们意识到我们的大部分教学所需软件都有对应的 Linux 版本。虚拟机不是必需的。我们需要寻找一个更好的解决办法。

进入 Fedora!

Computer lab in Serbia powered by Fedora

默认运行 Fedora 工作站版本的一个机房的照片

我们考虑使用一种简洁的安装替代以前的 Windows 虚拟机方案。我们最终决定使用 Fedora,这有很多原因。

发展的前沿

在我们所教授的课程中,我们会用到很多各种各样的开发工具。因此,能够及时获取可用的最新、最好的开发工具很重要。在 Fedora 下,我们发现我们用到的开发工具有 95% 都能够在官方的软件仓库中找到!只有少量的一些工具,我们才需要手动安装。这在 Fedora 下很简单,因为你能获取到几乎所有的现成的开发工具。

在这个过程中我们意识到我们使用了大量自由、开源的软件和工具。保证这些软件总是能够及时更新通常需要做大量的工作,然而 Fedora 没有这个问题。

硬件兼容性

我们机房选择 Fedora 的第二个原因是硬件兼容性。机房现在的电脑还是比较崭新的。过去比较低的内核版本总有些问题。在 Fedora 下,我们总能获得最新的内核版本。正如我们预期的那样,一切运行良好,没有任何问题。

我们决定使用带有 GNOME 桌面环境的 Fedora 工作站版本。学生们发现它很容易、直观,可以快速上手。对我们来说,学生有一个简单的环境很重要,这样他们会更多的关注自己的任务和课程本身,而不是一个复杂的或者运行缓慢的用户界面。

自主的技术支持

最后一个原因,我们院系高度赞赏自由、开放源代码的软件。使用这些软件,学生们即便在毕业后和工作的时候,仍然能够继续自由地使用它们。在这个过程中,他们通常也对 Fedora 和自由、开源的软件有了一定了解。

转换机房

我们找来其中的一台电脑,完全手动安装好。包括准备所有必要的脚本和软件,设置远程控制权限和一些其他的重要组成部分。我们也为每一门课程单独设置一个用户账号以方便学生存储他们的文件。

一台电脑安装配置好后,我们使用一个强大的、免费的、开源的叫做 CloneZilla 的工具。 CloneZilla 能够制作硬盘镜像以做恢复用。镜像大小约为 11 G。我们用一些带有高速 USB 3.0 接口的闪存来还原磁盘镜像到其余的电脑。我们仅仅利用若干个闪存设备花费了 75 分钟设置好其余的 24 台电脑。

将来的工作

我们机房现在所有的电脑都完全使用 Fedora (没有虚拟机)。剩下的工作是设置一些管理脚本方便远程安装软件,电脑的开关等等。

我们由衷地感谢所有 Fedora 的维护人员、软件包管理人员和其他贡献者。我们希望我们的工作能够鼓励其他的学校和大学像我们一样将机房电脑的操作系统转向 Fedora。我们很高兴地确认 Fedora 完全适合我们,同时我们也保证 Fedora 同样会适合您!


via: https://fedoramagazine.org/fedora-computer-lab-university/

作者:Nemanja Milošević 译者:WangYueScreamLemonDemo 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

让我们翻过一页页 Linux 的新闻报道,你会发现其中对一些冷门的 Linux 发行版的报道数量却出乎预料的多。像 Elementary OS 和 Solus 这样的新发行版因其华丽的界面而被大家所关注,而搭载 MATE 桌面环境的那些系统则因其简洁性而被广泛报道。

感谢像《黑客军团》这样的电视节目,我完全可以预料到关于 Kali Linux 系统的报道很快就会增加。

尽管有很多关于 Linux 系统的报道,然而有一个被广泛使用的 Linux 发行版几乎被大家完全遗忘了:Arch Linux 系统!

关于 Arch 的新闻报道很少的原因有很多,不仅仅是因为它很难安装,而且你还得能在命令行下娴熟地完成各种配置以使其正常运行。更糟糕的是,以大多数的用户的观点来看,其困难是设计之初就没有考虑过其复杂的安装过程会令无数的菜鸟们望而却步。

这的确很遗憾,在我看来,实际上一旦安装完成后,Arch 比我用过的其它 Linux 发行版易用得多。

确实如此,Arch 的安装过程很让人蛋疼。有些发行版的安装过程只需要点击“安装”后就可以放手地去干其它事了。Arch 相对来说要花费更多的时间和精力去完成手动分区、手动挂载、生成 fstab 文件等。但是从 Arch 的安装过程中,我们学到很多。它掀开帷幕,让我们弄明白很多背后的东西。事实上,这层掩盖底层细节的帷幕已经彻底消失了,在 Arch 的世界里,你就是帷幕背后的主宰。

除了大家所熟知的难于安装外,Arch 甚至没有自己默认的桌面环境,虽然这有些让人难以理解,但是 Arch 也因其可定制化而被广泛推崇。你可以自行决定在 Arch 的基础软件包上安装的任何东西。

虽然你可以视之为无限可定制性,但也可以说它完全没有定制化。比如,不像 Ubuntu 系统那样,Arch 中几乎没有修改过或是定制开发过的软件包。Arch 的开发者从始至终都使用的是上游开发者提供的软件包。对于部分用户来说,这种情况非常棒。比如,你可以使用“纯粹”的 GNOME 桌面环境。但是,在某些情况下,定制的补丁可以解决一些上游开发者没有处理的很多的缺陷。

由于 Arch 缺乏一些默认的应用程序和桌面系统,以至于很难形成一致的看法——或者根本不会有什么真正的看法,因为我安装的毫无疑问和你安装的不会一样。我可能选择安装最小化安装配置 Openbox、tint2 和 dmenu,你可能却是使用了最新版的 GNOME 桌面系统。我们都在使用 Arch,但我们的体验却是大相径庭。对于任何发行版来说也有这种情况,但是其它大多数的 Linux 系统都至少有个默认的桌面环境。

然而对 Arch 的看法还是由很多共性的元素的。比如说,我使用 Arch 系统的主要原因是因为它是一个滚动更新的发行版。这意味着两件事情。首先,Arch 会尽可能的使用最新的内核,只要它们可用,被认为稳定就行。这就意味着我可以在 Arch 系统里测试一些在其它 Linux 发行版中难于测试的东西。滚动版另外一个最大的好处就是所有软件更新就绪就会被即时发布出来。这不仅意味着软件包更新速度更快,而且意味着不会出现破坏掉系统的大规模更新。

很多用户因为 Arch 是一个滚动发行版认为它不太稳定。但是在我使用了 9 个多月之后,我并不赞同这种观点。

然而,我从未因为一次升级系统而搞坏过任何东西。我确实有过回滚,因为系统启动分区 /boot 没有挂载,但是后来我发现那完全是自己操作上的失误,我更新后而忘记写入改变。一些暴露出来的缺陷(比如我关于戴尔 XPS 笔记本触摸板又出现以前解决过的问题)很快被修复,并且更新速度要比其它非滚动发行版快得多。总的来说,我认为 Arch 滚动更新的发布模式比其它我在用的发行版要稳定得多。唯一一点我要强调的是查阅维基上的资料,多关注你要更新的内容。

我怀疑 Arch 之所以没那么受欢迎,主要原因就是你必须要随时小心你的操作。盲目的更新 Arch 系统是极其危险的。但是任何一个发行版的更新都有风险,你只是认为它没有风险而已——因为你别无选择。

Arch 的哲学理念是我支持它的另外一个最主要的原因。我认为 Arch 最吸引用户的一点就是:“(Arch)面向的是专业的 Linux 用户,或者是有 DIY 精神,愿意查资料并解决问题的人”。

随着 Linux 进一步纳入主流,开发者们更需要顺利地渡过每一个艰难的技术领域。那些晦涩难懂的专有软件方面的经验恰恰能反映出用户高深的技术能力。

尽管在这个时代听起来有些怪怪的,但是事实上我们很多人更愿意自己动手装配一些东西。在这种情形下,Arch 将会是Linux DIY 用户的终极圣地。


via: http://www.theregister.co.uk/2016/11/02/arch_linux_taster/

作者:Scott Gilbertson 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们使用 Linux 是因为它比其他操作系统更实用,还是其他更高级的理由呢?

运行 Linux 的最吸引人的事情之一就是它所提供的自由。 Linux 社区之间的分野在于我们如何看待这种自由。

对一些人来说,使用 Linux 可以享受到不受供应商限制或避免高昂的软件成本的自由。大多数人会称这个是一个实用性的考虑。而其它用户会告诉你,他们享受的是自由软件的自由。那就意味着拥护支持 自由软件运动 Free Software Movement 的 Linux 发行版,完全避免专有软件和所有相关的东西。

在这篇文章中,我将带你比较这两种自由的区别,以及它们如何影响 Linux 的使用。

专有的问题

大多数 Linux 用户有一个共同点,就是他们尽量避免使用专有软件。对像我这样的实用主义的爱好者来说,这意味着我能够控制我的软件支出,以及避免过度依赖特定供应商。当然,我不是一个程序员……所以我对安装软件的调整是十分微小的。但也有一些个别情况,对应用程序的小调整就意味着它要么能工作,要么不能。

还有一些 Linux 爱好者,倾向于避开专有软件,因为他们觉得使用它们是不道德的。通常这里主要的问题是使用专有软件会剥夺或者干脆阻碍你的个人自由。像这些用户更喜欢使用 Linux 发行版和软件来支持 自由软件理念 。虽然它与开源的概念相似并经常直接与之混淆,但它们之间还是有些差异的

因此,问题就在这里:像我这样的用户往往将便利性置于纯粹的软件自由的理念之上。不要误会我的意思,像我这样的人喜欢使用符合自由软件理念的软件,但我们也更有可能做出让步(使用专有软件),以完成特定的任务。

这两种类型的 Linux 爱好者都喜欢使用非专有软件的解决方案。但是,自由软件倡导者根本不会去使用专有软件,而实用主义用户会选择具有最佳性能的工具。这意味着,在有些情况下,这些用户会在他们的非专有操作系统上运行专有应用或代码。

最终,这两种类型的用户都喜欢使用 Linux 所提供的非专有解决方案。但是,我们这样做的原因往往会有所不同。有人认为那些不支持自由软件的人是无知的。我不同意这种看法,我认为它是实用方便性的问题。那些喜欢实用方便性的用户根本不关心他们软件的政治问题。

实用方便性

当你问起绝大多数的人为什么使用他们现在的操作系统,回答通常都集中于实用方便性。方便性可能体现在“它是我一直使用的系统”,乃至于“它运行了我需要的软件”。 其他人可能进一步解释说,软件对他们使用操作系统的偏好影响不大,而是对操作系统的熟悉程度的问题,最后,还有一些特殊的“商业考虑”或硬件兼容性等问题也导致我们使用这个操作系统而不是另一个。

这可能会让你们中许多人很惊讶,不过如今我运行桌面 Linux 最大的一个原因是由于我熟悉它。即使我能为别人提供 Windows 和 OS X 的支持,实际上我使用这些操作系统时感觉相当沮丧,因为它们根本就不是我习惯的用法。也因此我对那些 Linux 新手表示同情,因为我太懂得踏入陌生的领域是怎样的让人恼火了。我的观点是这样的 —— 熟悉具有价值,而且熟悉加强了实用方便性。

现在,如果我们把它和一个自由软件倡导者的需求来比较,你会发现这种人都愿意学习新的甚至更具挑战性的东西,以避免使用非自由软件。对这种用户,我最赞赏的地方,就是他们坚定的采取少数人选择的道路来坚持他们的原则,在我看来,这是十分值得赞赏的。

自由的价值

我不羡慕那些自由软件倡导者的一个地方,就是根据 自由软件基金会 Free Software Foundation 规定的标准,为实现其自由,他们要始终使用 Linux 发行版和硬件而付出的额外工作。这意味着 Linux 内核需要摆脱专有的驱动支持,而且硬件不需要任何专有代码。当然不是不可能的,但确实很难。

一个自由软件倡导者可以达到的最好的情况是硬件是“自由兼容”的。有些供应商,可以满足这一需求,但大多提供的硬件依赖于 Linux 兼容的专有固件。实用主义用户对自由软件倡导者来说是个搅局者。

那么这一切意味着的是,倡导者必须比实用主义的 Linux 爱好者,更加警惕。这本身并不一定是坏事,但如果是打算跳入自由软件的阵营那就要考虑下了。比较而言,实用主义的用户可以不假思索地使用与 Linux 兼容的任何软件或硬件。我不知道你是怎么想的,但在我眼中这样更轻松一点。

定义自由软件

这一部分可能会让一部分人不高兴,因为我不相信自由软件只有一种。从我的立场,我认为真正的自由是能够在一个特定情况下在所有可用的数据里,用最适合这个人生活方式的方法来解决。

对我来说,我更喜欢使用能满足我所有需求的 Linux 桌面,这包括使用非专有软件和专有软件。尽管有人认为专有软件限制了我的个人自由,但我必须反驳这一点,因为我有优先使用它的自由,即选择的自由。

或许,这也就是为什么我更认同 开源软件 Open Source Software 的理想,而不是坚持 自由软件运动 Free Software movement 的理念。我更愿意和这样的人群在一起,他们不会花时间告诉我,我使用对我最适合的方式却是错误的。根据我的经验,这些开源的人群仅仅是感兴趣去分享自由软件的优点,不带有自由软件的理想主义的激情。

我觉得自由软件的概念很棒。而且对那些需要活跃在软件政治,并向大众指出使用专有软件的缺陷的人来说,我认为 Linux ( GNU/Linux ) 行动是一个不错的选择。而像我这样的实用主义用户可能从自由软件的支持者转向,如本文中所说。

当我介绍 Linux 的桌面时,我富有激情地分享它的实际优点。如果我成功地让他们享受这一经历,我鼓励用户自己去发现自由软件的观点。但我发现大多数人使用 Linux 并不是因为他们想拥抱自由软件,而仅仅是他们想要最好的用户体验。也许只有我是这样的观点,很难说。

你怎么认为呢?你是一个自由软件倡导者吗?也许你倾向于在桌面 Linux 发行版中使用专有软件/代码?那么评论和分享您的 Linux 桌面体验吧!


via: http://www.datamation.com/open-source/linux-practicality-vs-activism.html

作者:Matt Hartley 译者:joVoV 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

Android 2.1——动画的大发现(以及滥用)时代

安卓 2.1 随着 Nexus One 的发布一同到来,这时距安卓 2.0 的发布仅仅过了三个月。新系统并不是一个大的更新升级,所以它仍然使用 Éclair(泡芙)这个名称。安卓的开发以一种闻所未闻的步伐急速进行,在过去的 15 个月中,谷歌平均每两个半月就发布一个新版本。

绝大部分得益于威瑞森在市场营销上的努力以及“Droid”产品线,安卓日益流行起来。即便如此,这个系统还是被人觉得丑,这时的安卓工程师看起来就几乎没有接受过正式的设计培训,在安卓 2.1 中,他们尝试着通过在所有能用上的地方大量使用动画效果,想让东西看起来更整齐一点。这么做的结果就是系统看起来拼命想要证明它可以实现动画效果。许多新增的部分感觉更像是技术的演示而不是为了用户体验的改善。

安卓2.1和2.0中的锁屏和主屏幕。

安卓 2.1 和 2.0 中的锁屏和主屏幕。 [Ron Amadeo 供图]

安卓 2.0 的旋转拨号式锁屏在仅仅在一个版本之后就被踢到路边去了,取而代之的是和来电界面使用的相同的拉动式标签式解锁。锁屏时钟尝试使用了一种独特的安卓字体,但是相比其它字体来说,它真是丑得可以。

安卓 2.1 最大的特色之一是“动态壁纸”——可互动的或是动态图片可以被设置为壁纸。默认的动态壁纸是个灰色正方形组成的大方阵,不断有蓝色,红色,黄色以及绿色的光点拖着尾巴穿越屏幕。点击屏幕会使光点以你点击的位置为中心向四个方向射出。尽管动态壁纸看起来很棒(并且相对 iPhone 而言是个独特的特性),但动画背景对电池和处理器而言可不是什么好事。它似乎让整个系统的运行都变得有点慢了。

在主屏幕上,默认的谷歌搜索小部件周围有了更多空间,并且现在它位于所在行的正中央。页面指示器现在出现在屏幕底部的左右角落,主屏幕的页数也从 3 页变成了 5 页。底部的应用抽屉标签被替换为一个正方形方阵组成的图标,这个(对应用列表的)暗喻直到今天谷歌也还在使用。

图片展示了安卓2.1和2.0中的应用抽屉设计以及应用的选择。

图片展示了安卓 2.1 和 2.0 中的应用抽屉设计以及应用的选择。 [Ron Amadeo 供图]

和新应用抽屉图标一同到来的还有全新的应用抽屉。应用抽屉不再是以前从屏幕底部上拉的带标签容器的样子,新界面显示为一个全屏界面。原先的碳纤维编织纹理被去掉了,变成了一个纯黑背景——这个改变会一直持续到 KitKat。

谷歌决定添加一个浮动的、半透明的 home 图标到应用抽屉的底部,好让人们方便地退出全屏的应用列表界面。这个可以看作是安卓 4.0 中引入的虚拟 home 键的前身。

应用抽屉同样有个俗气的图形效果。在滚动的时候,在应用列表顶部和底部的图标会向内弯曲并且看起来像是向手机深处移动一样,有点像星球大战开场的滚动字幕。

应用的图标也有不多的改变。“Amazon MP3”和“Alarm Clock”(闹钟)都去掉了前面那个单词,然后他们就从按字母排序的列表的前两个位置退了下来。出现了两个新的应用:新闻和天气,以及 Google Voice,这是谷歌的通信服务。由于 Nexus One 不是威瑞森的定制机,威瑞森的可视语音邮件被去掉了。

修改后的时钟应用。

修改后的时钟应用。 [Ron Amadeo 供图]

不止是名称的更改,时钟应用还迎来了整体上的重制。点击时钟快捷方式不再会打开闹钟页面;取而代之的是去到“桌面时钟”界面(上方左图),它带有一个和壁纸一致的背景。时钟使用和锁屏一样的字体,并从新的新闻和天气应用中获取天气。

新的闹钟页面清除了许多旧版本中奇怪的设计。模拟时钟和可选择的时钟样式已经不见了。复选框已经被一个带绿色亮光的开关所取代,它比“灰色勾选/绿色勾选”更容易理解。尽管可能从快照很难看出来,旧的闹钟设计在时间旁同时显示 AM 和 PM。2.1 的设计里取消了这一项,只显示相关的 AM/PM 标记。底部放置了一个数字时钟,点击时钟图标会将你带回桌面时钟界面。

安卓2.1和2.0中的相册和单独图片查看界面。

安卓 2.1 和 2.0 中的相册和单独图片查看界面。 [Ron Amadeo 供图]

谷歌想要改进安卓外观的欲望在 2.1 的相册中最为明显,这里几乎都是大量使用的动画效果和半透明。当应用打开的时候,单独的图片从屏幕顶部飞下并且打乱成小堆组成相册。当打开相册的时候,图片堆各自分离,照片滑开形成方阵的形式。所有你触摸的东西会弹开,压缩,以及拉伸,就像是果冻的弹簧片一样。

相册这里没有一个“标准”的背景。它会从屏幕上随机选择一张图片并深度模糊,然后作为背景图片使用。当这张图片滑出屏幕显示范围后,它会重新选择一张背景图片,所以背景色调总是会和你的图片相匹配。

屏幕的左上角放置了面包屑导航栏。它显示你当前的位置,以及你所在位置和主界面之间的任何文件夹——它可以被看作是在安卓 3.0 中即将推出的“向上”按钮的前身。在右上角是一个相机的链接,这还留着相同的在安卓 1.6 中登场的人造皮革设计——两个设计截然不同。

而相机是另一个奇怪的、一次性的设计,从来没有哪个安卓应用间的随意的 UI 设计差距能有和新的相册应用间这么明显。它并没有采用安卓的按钮、菜单、或任何现有的 UI 规范。它甚至在每个界面隐藏了状态栏——你几乎不能分辨出你正在盯着的是安卓。

在单张照片查看视图,你终于可以在图片之间滑动切换,从而去掉了短粗的左右箭头。出于某种原因,这个界面并没有颜色匹配的背景。它是应用中唯一一个背景为黑色的部分。缩放控制在右上方(仍然没有两指捏合缩放),可用命令沿着屏幕的底部排成一行。点击“菜单”按钮(虚拟或实体键)并不会像所有其他的应用一样出现一个 2×3 格的方阵——仅仅是底部的一行选项从两个变成了另外三个选项。

充满动画效果的相册应用。

充满动画效果的相册应用。 [Ron Amadeo 供图]

上面第一张图片,显示了一个相册视图。大型相册的话你可以水平滚动,或使用在屏幕底部的快速滚动条。长按图片(虽然有点奇怪,或者可以按实体菜单按钮)会弹出一个“复选框”界面,这时你可以点击几张照片同时选中它们。你选中照片之后,你可以批量分享、删除或旋转照片。

这个界面和接下来的单张照片查看界面的菜单是半透明对话气泡式的,点击各个按钮时它们会跳出来。再重复一遍,这和你所看到的正常的安卓体验规范大相径庭。相册还是第一个拥有越界效果(overscroll)的应用之一。当你到达照片墙的底部时,整个界面会向滚动的方向扭曲。

2.1 的相册是第一个能同时显示您云存储的 Picasa 照片以及本地照片的客户端。这些照片缩略图的左下角有白色相机快门图标。这后来成为了 Google+ Photos。

之前或之后任何安卓应用程序看起来都不像这个相册。有很好的理由解释这是为什么——它不是谷歌做的!这个应用外包给了 Cooliris,他们看样子并没有打算花费精力遵循任何一条现有的安卓 UI 规范。尽管应用是可用的,所有的动画和效果使它看起来像是只注重风格而不注重实质的产物。

“新闻和天气”应用展示了……新闻和天气。

“新闻和天气”应用展示了……新闻和天气。 [Ron Amadeo 供图]

来比较下相册应用和另一个全新的安卓 2.1 应用:新闻和天气。相册是个充满透明动画效果的汇聚,而新闻和天气则全是深色渐变和对比色。这个应用提供了桌面时钟的天气显示,它甚至还带着一个主屏幕小部件。第一张图显示的是当前位置的天气和六天的预报。沿着屏幕顶部排列着一些标签,城市名称旁有个小小的“i”按钮,点击它会打开温度和降水图。你可以在图上滑动以得到指定时间的精确温度和降水信息。

这个应用里最大的创新在于可滑动标签,这个想法最终将成为一个标准的安卓 UI 规范。在天气之后是一些可由用户定制的新闻标签,除了点击标签切换之外,你还可以在屏幕上水平滑动,标签也会跟着切换。新闻标签都显示着一个新闻标题列表,它们几乎总是正好截断到你弄不明白这条新闻讲了什么的程度。当你从这个应用打开一个网页时,它并不会启动浏览器。相反,它会在应用内打开新闻,带着个奇怪的白色边框。

谷歌地图的一些实验性功能,新的小部件设计,Google Voice里我们能接触到的唯一一个界面,以及新的带标签的音乐界面设计。

谷歌地图的一些实验性功能,新的小部件设计,Google Voice 里我们能接触到的唯一一个界面,以及新的带标签的音乐界面设计。 [Ron Amadeo 供图]

安卓 2.1 里的小部件全部经过了重新设计,几乎所有东西都带有黑色渐变,空间利用上也更加合理。时钟变回了一个圆,日历的顶部加上了蓝色,着让它和应用变得更加相似。Google Voice 可以启动,但是登录已经失效了——这是你现在能看到的所有东西了。

人们经常忽视的音乐应用有个小更新。四个按钮的主界面被完全去除,并且在屏幕顶部添加了每个音乐显示模式的标签。这意味着在打开应用的时候,你就能直接看到音乐列表,而不是一个导航页。不同于新闻和天气应用里的标签,这些新增的标签不能滑动切换。

Android 2.1, update 1——无尽战争的开端

谷歌是第一代 iPhone 的主要合作伙伴——公司为苹果的移动操作系统提供了谷歌地图、搜索,以及 Youtube。在那时,谷歌 CEO 埃里克·施密特是苹果的董事会成员之一。实际上,在最初的苹果发布会上,施密特是在史蒂夫·乔布斯之后第一个登台的人,他还开玩笑说两家公司如此接近,都可以合并成“AppleGoo”了。

当谷歌开发安卓的时候,两家公司间的关系慢慢变得充满争吵。然而,谷歌很大程度上还是通过拒 iPhone 关键特性于安卓门外,如双指缩放,来取悦苹果。尽管如此,Nexus One 是第一部不带键盘的直板安卓旗舰机,设备被赋予了和 iPhone 相同的外观因素。Nexus One 结合了新软件和谷歌的品牌,这是压倒苹果的最后一根稻草。根据沃尔特·艾萨克森为史蒂夫·乔布斯写的传记,2010 年 1 月在看到了 Nexus One 之后,这位苹果的 CEO 震怒了,说道:“如果需要的话我会用尽最后一口气,以及花光苹果在银行里的 400 亿美元,来纠正这个错误……我要摧毁安卓,因为它完全是偷窃来的产品。我愿意为此发起核战争。”

所有的这些都在秘密地发生,仅在 Nexus One 发布后的几年后才公诸于众。公众们最早在安卓 2.1——推送给 Nexus One 的一个称作 “2.1 update 1” 的更新,发布后一个月左右捕捉到谷歌和苹果间愈演愈烈的分歧气息。这个更新添加了一个功能,正是 iOS 一直居于安卓之上的功能:双指缩放。

尽管安卓从 2.0 版本开始就支持多点触控 API 了,但系统的默认应用在乔布斯的命令下依然和这项实用的功能划清界限。在关于 Nexus One 的和解会议谈崩了之后,谷歌再也没有理由拒双指缩放于安卓门外了。谷歌给设备推送了更新,安卓终于补上了不足之处。

随着谷歌地图、浏览器以及相册中双指缩放的全面启用,谷歌和苹果的智能手机战争也就此拉开序幕。在接下来的几年中,两家公司会变成死敌。双指缩放功能更新的一个月后,苹果开始了它的征途,起诉了所有使用安卓的公司。HTC、摩托罗拉以及三星都被告上法庭,直到现在都还有一些诉讼还没解决。施密特也辞去了苹果董事会的职务。谷歌地图和 Youtube 被从 iPhone 中移除,苹果甚至开始打造自己的地图服务。今天,这两位选手几乎是 “AppleGoo” 竞赛的唯一选手,涉及领域十分广泛:智能手机、平板、笔记本、电影、TV 秀、音乐、书籍、应用、邮件、生产力工具、浏览器、个人助理、云存储、移动广告、即时通讯、地图以及机顶盒……以及不久它们将会在汽车智能、穿戴设备、移动支付,以及客厅娱乐等进行竞争。


Ron Amadeo / Ron 是 Ars Technica 的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。 @RonAmadeo


via: http://arstechnica.com/gadgets/2016/10/building-android-a-40000-word-history-of-googles-mobile-os/12/

译者:alim0x 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

WattOS

Jack Wallen 将介绍一下是什么让 WattOS 这么特别。

Linux 领域里的每个人不是听说过就是使用过某个轻量级的 Linux 发行版。大家都知道我们不断追求的是:占用内存少,配置资源要求低,包含一个轻量级的桌面环境(或者窗口管理器),并且提供和其他发行版相似的桌面布局,把赌注押在相同的需求之上。

这种发行版大多用来工作。有一个可以击垮很多轻量级 Linux 发行版的问题,它们没有真正含有一般用户完成工作需要的工具。结果就是,它们沦落为用来完成特殊任务(像数据恢复、做信息亭等)。

在某种程度上,WattOS 陷入了同样的困境(它唯一含有的生产力工具是 PDF 阅读器,而且它使用标准的“任务栏/开始菜单”象征桌面)。然而幸运的是,WattOS 通过难以置信的运行速度、稳定性以及内置新立得包管理器弥补了这些缺点;所以,WattOS 可以很容易的成为一个适合所有人的轻量级 Linux 发行版。

到底是什么让 WattOS 如此特别,让我们一起一探究竟。

内核

事实上当我发现 WattOS 基于 kernel 4.4 内核时我非常吃惊。升级系统之后,执行 uname -r 命令可以看到是 4.4.0-38-generic。鉴于这个发行版的目的是让老旧和运行卡顿的机器重获新生,它和我的 Elementary OS Loki 发行版内置相同版本的内核真是一个可爱的惊喜。这意味着 WattOS 在新旧硬件上都会有良好的工作表现。

真正的惊喜不止于此,当你去 WattOS 的网站,你会同时发现 32 位和 64 位版本的下载地址(现在大多数新的发行版都倾向于放弃 32 位发行版本)。所以,不仅系统内核对新式硬件提供支持,而且系统发行版本的多种架构也能让那些老式的 32 位机器重获新生。

运行速度

当安装上 WattOS 的时候,有那么一刻我对它有纯粹的羡慕。WattOS 的运行速度快的令人难以置信。甚至当它的桌面版作为客户机在 VirtualBox 虚拟机平台工作时,运行速度依然远远超过了我的 Elementary OS Loki 桌面发行版。后来我才了解到当时运行的宿主机是 System76 Leopard,配置有水冷装置的 i7 处理器和 16GB 的运行内存。分配给 WattOS 大约 2G 的内存,让它看起来没有什么任务可以拖慢它。WattOS 的运行速度壮观的令人难以诉说,它越来越成熟了。我从没见过火狐浏览器能打开的这么快。

接下来说说 LibreOffice 应用的启动。由于想测试 LibreOffice 的启动速度,所以我打开了新立得软件包管理器,计划安装这一开源办公软件套件的佼佼者。

无果。

安装 LibreOffice 的主要问题是缺少一个依赖软件包 python3-uno,而且无论怎么尝试都无法安装成功。然而,最后我在 LibreOffice 官方网站 上下载了 deb 格式的软件包。把下载的文件解压之后,cd 到 LibreOffice5.2.2.2Linuxx86-64deb/DEBS/ 目录下,最后通过执行 sudo dpkg -i *.deb 命令成功的安装好了 LibreOffice。

LibreOffice 运行的怎么样呢?速度快到要疯了。值得再提的是,我从没见过这个应用能像在 WattOS 上运行的这么快。点击 LibreOffice Writer 的图标,它花费的时间是在 Elementary OS Loki (已经很快了)主机上花费的一半。

桌面

我个人偏爱于桌面向更加现代化的趋势进行迭代。我是 Ubuntu 的 Unity 桌面,GNOME 3 桌面,以及(特别是) Elementary OS 的粉丝。所以使用古老风格桌面的主意意味着对我几乎没有吸引力。即便如此,WattOS 在把现代设计风格融入老式设计时做的非常好。举例来说,默认的桌面主题(图 1)。WattOS 的 UI 设计者巧妙设计了桌面主题,所以它没有完全偏离 Windows XP 或者老式 Linux CDE 风格的窗口管理器的设计理念。

WattOS

图 1:WattOS 的文件管理器展示了有些现代化的主题 使用许可

关于 WattOS 的桌面(基于 LXDE)的确有一些要说的但以前从来没说过,就是每个拥有像简洁、直接,有足够灵活度和自定义度这些特点的 Linux 桌面版,对每个使用过 Windows 95 的电脑使用者来说都会很熟悉。

惊喜之处,优点和缺点

正像每个新的 Linux 桌面版的体验那样,WattOS 有让人惊喜的地方,同时也有优点和缺点。首先,说说优点。

WattOS 除了绝对的速度(用一个简单的 “WOW” 来评论),还在桌面上固定了一些特别的惊喜(大多数都是预置的应用)。额外的软件中最好的是 KeePassX(一个极少被默认包含在桌面版的应用)。我认为密码管理器应该默认安装在每一个电脑桌面上,值得骄傲的是 WattOS 预装了这个杰出的工具。

下一个讨论的是预装火狐浏览器。许多轻量级的发行版会预装像 Surf 或者 Midori 这样的浏览器。这两个浏览器都不错,但是它们的兼容性经常达不到像谷歌文档这样网站的要求。因为 WattOS 含有成熟的火狐浏览器,你会发现该系统的功能在火狐浏览器兼容的网站上表现的很完美。

最后,算不上好的意外。正如我已经提到的,在安装 LibreOffice 时马上就有了故障。然而安装像 GIMP 这样的软件就很顺利(所以我认为这是偶然问题)。除了这一个问题,我觉得默认桌面菜单有些混乱。例如,新立得软件包管理器放在个性化菜单里。我更愿在主菜单中突出显示项中看到它,并且加上类似“软件安装”(或任何其他新用户容易理解)的标签。从我的视角来说,个性化菜单项应该用于放置配置该平台各种风格的工具,而不是安装软件的工具。

除此之外,若想在 WattOS 主攻方向上的找茬的话,特别是你要找一个面对老旧硬件 Linux 发行版时,你会发现这非常困难。

结论

尽管 WattOS 主要为老旧硬件设计,但你完全可以把它运行在现代桌面电脑上,并且会运行的很好。根据零学习曲线,你很快就会熟悉 WattOS,并发现它运行极快而且稳定。试试这个小排量的 Linux 发行版吧,相信它会给你同样深刻的印象。如果你发现 WattOS 运行的不够快(发生了一些我没有预料到的事),你完全可以去使用 Microwatt(一个更轻的轻量级发行版)。


via: https://www.linux.com/learn/wattos-rock-solid-lightning-fast-lightweight-linux-distro-all

作者:JACK WALLEN 译者:fuowang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出