技术发展日新月异。 或者可能只是看起来发展得很快,因为新的运动、方法和架构正在四处涌现。 本月,“无服务器”架构突然崛起,成为每个人 Twitter 信息流和意识的焦点。 至少如果你身处 Dev/Ops 世界的话。
对于那些关注基础设施和网络架构及运营但尚未被这种新架构淹没的人来说,这是一个从整体架构 –> 微服务 –> 无服务器架构的逻辑进程。 这是对应用程序的进一步细分,从商业用途 –> 服务 –> 功能。
从字面上理解,就是功能相关的。 事件驱动、细粒度的功能。
并且每个人都关注比微服务更小的应用逻辑范围。 微服务可能包含实现“配置文件服务”所需的所有应用逻辑,而无服务器架构则将其进一步分解为各个功能。 一个用于登录,一个用于注销,一个用于更改密码,一个用于重置密码。 基本上,这就像为您在应用程序内可能执行的每个操作构建一个微小的、集中的服务。
之所以称之为“无服务器”,是因为它基本上是 PaaS 的高度进化形式。 这对于 PaaS 来说是件好事,因为作为一个市场,PaaS 从未真正成为它所希望的庞然大物。 它只是存在在那里,得到喜欢它的粉丝们的欢呼,但大多数情况下它被忽视了,其增长速度远不如私有云或公共云那么令人兴奋,当然也不像 SaaS。 在无服务器架构中,云提供商负责所有事务,但不负责当用户点击按钮、复选框或链接时执行某些操作所需的代码。 这就是“事件驱动”的事件部分:当用户点击按钮时执行function_in_the_cloud 。 该功能通常是更大 API 的一部分,由云中的另一个服务管理。
这里重要的是,编写该函数的人不会配置、配置或启动虚拟机或容器。 他们不担心规模之类的运营细节。 他们只需编写一些代码,然后单击按钮,就大功告成了! 即时功能。
这是云计算的终极体现,因为堆栈开发人员现在负责将云计算缩小到单个层,即应用层。 正如 Metallica 所说,其他一切都不重要。 每个操作细节均由底层平台提供。 它是 NoOps,至少从开发人员的角度来看是这样的。
因为你知道平台下有服务器、服务、基础设施和网络提供这种神奇的功能。 这并不是开发人员需要担心的事情。 但您作为基础设施或网络运营专业人员,需要这样做。
这就是为什么企业暂时不太可能加入这一潮流。 这一壮举需要一个完全可操作的云计算环境,该环境不仅包含虚拟机或容器配置功能,还包含自动扩展功能。 换句话说,无需参数或开发人员的输入即可进行扩展。 它应该发生,该死的,这就是它的全部。 这不是自助服务,而是自动服务。 它不仅具有规模,还具有自动配置功能。 以及监控、报告以及几乎所有与今天运营相关的内容。 这就是为什么我们在完善的云提供商环境中广泛看到它的原因;只有他们拥有支持这种基本上不干涉的运营模式所需的底层基础设施、自动化和编排。
因此,目前对无服务器的大部分注意力都集中在感受它并弄清楚如何与云中可用的当前版本一起工作: Amazon Lambda 、 Google Cloud Functions 、 Microsoft Azure Functions和IBM OpenWhisk 。 并不是说没有产品可以帮助诸如Serverless和Iron.io之类的内部部署实现。 但是现在无服务器还处于早期阶段。
不过,您可能还是会开始听到有关无服务器的抱怨。 目前,它基本上只是新架构启动的引擎。 它不太可能在短期内(未来 12-15 个月)对大多数组织产生影响,但在它进入现场维护阶段之前,最好先了解它的全部内容。
如果您想了解有关无服务器和当前优势和挑战的更多信息, NewStack 有一个很好的概述。