这是一件有趣的事。 一旦我们从应用程序开发中删除了一些核心步骤(例如必须配置存储和计算之类的云资源),开发人员就会将这种自由变为不合逻辑但可以理解的结论。
在某些情况下,规划和设计被抛到窗外。 为什么? 考虑到无服务器是自动配置,并且可以动态设计和构建应用程序,如果我们不进行基础架构规划,那为什么呢?
我有三个原因应该重新考虑。
首先,即使它是无服务器的,我们仍然应该关注应用程序的效率。 资源会根据无服务器应用程序的配置文件或无服务器系统认为需要的资源自动分配。 如果到处都是如何提出请求以及何时发出请求,则无服务器系统可能会过度配置资源,从而导致更多的成本和更低的效率。
对应用程序状态做出反应的系统需要根据他们看到或看不到的设计模式做出假设。 与几年前的第四代语言世界非常相似,开发平台的强大功能意味着您也可以轻松掌握自己的脚步。 无服务器是相同的。
其次,需要管理应用程序,因此仍然需要内置管理点。这意味着我们需要在应用程序和数据中设计API,以供外部管理工具监视以及停止和启动流程。
尽管可以在没有这些接口的情况下管理应用程序,但是大多数应用程序都无法长期良好地管理。 为此,您需要一种设计和一种方法来确定无服务器系统如何与cloudops流程和工具集一起使用。
第三,需要设计安全性。向我展示未设计或计划的应用程序,然后向我展示通常安全性较低的应用程序。 缺少良好的基础设计意味着负责保护应用程序安全的人员错过了通过设计使应用程序更安全的机会。
违反通常始于开发人员的错误和设计。 因此,请密切注意无服务器应用程序的设计。 不要屈服于诱惑。
From: https://www.infoworld.com/article/3447175/dont-kludge-serverless-cloud-applications.html