无服务器运维依然是未解难题

  • Chris Swan
  • 大愚若智

2016 年 9 月 30 日

话题:DevOps

Serverlessconf London 2016 活动第一天起,人们就开始关注一个新兴的话题:“NoOps”无服务器平台为运维工作造成的前所未有的挑战。物理服务器和虚拟机可以进行抽象,但这并不意味着可以彻底省略基础架构配置工作,开发者往往会忽略底层持久机制所蕴含的巨大风险。

Patrick Debois在开幕式主题演讲中提到了这一问题,并问及一系列有关无服务器技术是否会变得更好、更快速、更便宜(以及更安全)等问题。Debois 认为,诸如 AWS Lambda、Azure Functions,以及 Google Cloud Functions 等无服务器平台依然面临不小的挑战,尤其是在日志和监视等运维领域。

Honeycomb的创始人Charity Majors当天所做的名为“无服务器,NoOps 和牙仙”的演讲是广受好评的演讲之一。演讲中他介绍了从移动应用平台Parse中所获得的经验,该平台现已被 Facebook 收购(并将在2017 年 1 月底关闭)。Majors 称需要“在变得太酷之前投身于无服务器技术”。他在演讲中认为,“服务并不是有魔力的精灵之尘”,开发者必须要懂得自己所用技术中适用的责任共担(Shared responsibility)模型。她的首要建议是“全面掌控自己的关键路径(同时保持尽可能短)”并“理解不同技术及其依赖项”。Majors 对无服务器平台状态管理方面的问题尤为关注,并强调称,有关查询范围的问题不会仅仅因为由别人负责管理数据库而自行消失。这一情况最重要的后果在于,“服务会自己保护自己(但用户需要为此付费)”,这意味着需要对查询进行一定的限制,而在无法了解或遵循底层基础架构限制的情况下,用户使用应用程序时的体验也会受到影响。她对于运维有着极为宽广的定义,并涉及了当天活动中探讨过的很多其他问题:

运维是组织内部一系列围绕系统设计、构建和维护,软件发布,以及通过技术方式解决问题所需的技术能力、实践、文化价值的总称。

在无服务器平台上使用配置管理工具,这是活动当天反复被人提起的一个话题。Red Hat 公司的Ryan Scott Brown针对使用Ansible配置 AWS Lambda 进行了一次闪电会谈,该话题在Rafal Gancarz有关“企业领域的无服务器技术”讲话中也进行了更深入的探讨。Gancarz 用实例介绍了了如何使用HashiCorp 的 Terraform提供诸如最小特权安全策略等配置管理,以及如何将 Terraform 内部的基础架构配置作为函数代码共享给相同的持续集成(CI)流程。Gancarz 还提到了 Debois 有关日志和监视的观点,并称他以前曾使用一台运行 Kibana 的服务器作为 Elasticsearch、Logstash 以及 Kibana(ELK)栈的一部分,这也意味着整个架构并非完全无服务器的。

总体来说,虽然无服务器平台也许可以轻松满足初始部署和缩放等需求,但依然无法完全省略基础架构运维。依然需要考虑、规划,并提供有关安全性、备份和还原、日志和监控等任务所需的工具。虽然使用服务供应商的 Web 用户界面以一种一次性的方式对这些内容进行配置(哪怕直接使用默认值)可能还难以做到,但生产应用可能需要通过更成熟的方法进行配置管理,并需要能与应用程序代码基中其他方面的管理任务相互集成。

查看英文原文Serverless Operations is not a Solved Problem

DevOps