伴随各种新奇有趣设备的诞生,物联网越来越热门。从飞行相机、送货无人机到智能冰箱、空调、儿童玩具等等,所有这些都需要后端系统,其中大多数是建立在云计算平台(如AWS)上的,无论是在中国还是世界其他地方。

现代物联网系统的变化和发展非常迅速,尤其在竞争异常激烈和变化迅猛的市场。所以灵活性、推出新功能和产品的快捷性、可靠性和成本控制都是当务之急。特别是对于更大或更多元化的公司,云计算让他们同时尝试到很多新事物,籍由此看清市场发展的方向。

我们很自豪地宣布新客户——一家总部在香港并已在AWS中国区上云的、依托物联网开展业务的大型公司,虽然暂时不方便透露它的名字,但可以知道的是它是由一家传统公司转型成为涉及多种面向消费者产品(从生活方式到健康等产品)的物联网公司。

目前这家客户所使用的系统是非常先进的,均衡了最新的DevOps、Container、和公共云的最佳实践,但没有“过犹不及”。太多公司过度追求DevOps“基础设计即代码”的梦想,或者狂热地希望Docker可以解决所有问题,而并没有真正考虑什么是最适合他们的,或者什么样的架构和维护是可行的。DevOps、Docker、以及AWS都是吸引人的,但是好公司更关注如何合理利用它们以正确实现自己的商业和技术目标。

在这种情况下,客户首先通过准备他们的开发团队、工具和思路来为实现DevOps做好准备。这意味着良好的编码实践、明确的环境分离、凭证、和配置,以及连接到标准的持续集成(CI)系统(在这里选用的是Jenkins)的自动化测试。

在DevOps开始工作之后,为系统中最活跃的组件(这里指的是应用程序服务器)建立一个基本的以Docker为基础的静态系统。它们智能地选择不存储数据库、缓存、网络以及其它关键系统。但是通过建立10到25个容器,它们可以在一小组AWS云计算虚拟存贮器上快速推出新功能、代码更新以及新产品。

云络科技接管了客户所使用的系统,并将在未来提供优化、监测和管理服务。这包括我们的AWS云计算管理服务以及我们核心的全栈运维即服务(OaaS)。我们也将加强客户的Docker系统从而实现更高的监测、安全以及自主伸缩,另外通过Blue-Green和烟雾测试验证过程来更好地配置弹性负载均衡(ELB)以及其它程序和数据的转出。我们预计在10个左右虚拟存贮器上建立多达100个容器,然后建立10-20个虚拟存贮器用于不以容器为基础的服务,然后更多的虚拟存贮器用于灾难恢复,以及更多的虚拟存贮器用于中国以外的国际服务。

在未来,随着系统扩容,用户、产品和功能也逐渐增长,我们将选择一个更有活力的系统,很可能选择具有分布式发现(Distributed Discovery)服务的Swarm平台,如通过etcd来对容器进行自动安置、安排和配置。如果系统非常大的话,我们可能考虑Mesos或Kubernetes系统,但是这些对于现实生活中的绝大多数系统(包括本文所述的系统)来说过于复杂。

所有这些,加上设计、搭建和配置阶段的自动处理,以及向我们的运维监控系统、日志跟踪器、安全扫描仪、备份系统、规则引擎等的集成,都是通过我们的OpsStack云计算运维平台实现的。该平台为我们和客户提供了贯穿整个系统的一站式端到端管理视角——从AWS水平向上直到容器、集成服务、发现、应用性能、安全、数据库、可靠性等都得以直观显示。

总的来说,这是一个很好的系统,通过使用DevOps、Docker和AWS来建立适合企业的系统,完美兼具实用性和现代化于一身,并致力于在未来发展成为更大、更具活力和适应性的系统。