尽可能地做到无服务器,但不止于此

毫无疑问,如果您一直关注技术趋势,那么您会看到“无服务器”的兴起。 在某些情况下,“无服务器”被称为“下一个应用程序体系结构”样式。 我什至听说有人说“您不需要技术X,因为无服务器是未来的方式”或“技术X是红鲱鱼,因为无服务器”等。在本期中,我们将了解为什么它与“微服务与无服务器”。

到目前为止,我对无服务器的最佳描述来自Patrick Debois在他的“无服务器到完整服务”演讲中 。 在该演讲中,他为“无服务器”提供了一个定义,并实际上定义了什么是什么,而不是什么不是 。 专注于它不是什么(即,没有服务器!!!!)实际上会干扰任何真实含义(当然,还有服务器!!)。 通过集中的事实,它更多的是使用作为提供的服务(想事情像SQS,DynamoDB时,Gmail,谷歌日历,SalesForce公司,快速度等),将它们订在一起,以提供某种功能,我们可以得出一个更有趣的定义 :

将核心基础架构服务外包给服务提供商,并通过API(和功能)将它们组合在一起以提供业务价值

在许多方面,“利用现有服务并在其之上构建”的想法并不是新事物。 这是“面向服务的体系结构”背后的精神的化身:

微服务与无服务器

如果我们可以利用现有的服务来降低进入门槛(即注册一个API而不是购买硬件,设置安全性/网络/ DNS /操作系统等),那么我们可以为我们的客户更快地构建有趣的东西。 这是什么是无服务器的一部分。 第二部分是您不必拥有来自这些不同服务的所有技术的事实。 也就是说,您需要为使用(计量)和SLA付费,而您不拥有并且必须解决棘手的技术问题才能使用提供业务价值的功能。 Ben Kehoe 在最近的播客中很好地传达了这一点。 我完全赞同这个。

因此,当客户问我“如果无服务器是应用程序体系结构的下一个发展趋势,我是否应该跳过微服务和容器”? 答案:

尽可能地做到无服务器,但不止于此。

让我们剖析一下。

作为技术专家,我们被技术和任何新的闪亮趋势所吸引。 无服务器,容器等都很重要。 但归根结底,我们作为技术专家的作用是帮助企业发现和利用企业价值,并且比竞争对手更快地做到这一点。

如果我们处于应用程序生命周期的“探索”部分(就像所有初创公司一样),我们想要做的就是Swift使我们关于将为客户创造价值的假设无效,并同样Swift地找到能够为客户创造价值的假设。 客户在看到价值之前就无法明确表达其价值。 最好通过将服务摆在它们前面来快速进行试验,并观察它们的响应方式。 如果某件事对客户的兴趣不大,最好抛弃它并继续前进。 为此,我们不能在建立基础设施,开发成本,合作伙伴等方面投入大量资金。我们必须尽可能便宜地运行这些实验,而“无服务器”方法为实现这一目标提供了绝好的机会。 我们可以利用现有的技术服务为客户创建数字资产,而无需大量投资,而且至关重要的是:我们可以随行付款。 如果我们对新产品/服务的兴趣为零,那么花费不多。 如果我们最初有一些不可预测的棘手的兴趣,那么我们将提供一个平台(服务+ FaaS),可以快速扩展而不会造成很多麻烦。

如果我们偶然发现确实能够提供客户价值的产品(即产品/市场契合度),那么我们希望在此基础上进行扩展,扩展并围绕其构建有利润的产品。 在这一点上,您可能会发现自己想要采用部分无服务器且部分非无服务器的体系结构来解决此问题。 您将不得不面对以下两个技术决策:“我应该拥有多少堆栈才能实现业务价值和差异化”,以及“我愿意将SLA,法规遵从性,价格和路线图外包给我的服务提供商” ? 在探索阶段,将所有内容外包给服务提供商可能很好。 但是随着业务的成熟,关于这些决定如何影响组织(结构,运营,TCO等)的真实讨论。 这是一个影响我们客户的非常实际的问题。

当您开始为新产品/服务找到可预测的模式时,决定要优化某些部分(包括成本和技术因素,例如延迟,尾部延迟等),您可能会认为无服务器方法过于昂贵,并且可能值得拥有更多堆栈部分的所有权。 看看这种无服务器及其周围基础设施的账目,这对于使用模式更可预测的应用程序来说太昂贵了

最后,对于确实能产生大量收益的现有应用程序,您不能仅仅将其全部神奇地转移给服务提供商。 但是,您可以尝试对其中的某些部分进行现代化改造,以参与公司的一些较新的数字计划。 我们看到组织通过对基于容器和Kubernetes构建的服务体系结构(微服务/ API / SOA等)进行现代化升级,朝着更高性能的IT迈进了巨大的步伐,如果将其扩展到其逻辑结论,则可以将其构建为组织服务的平台,从而实现组织的各个部分都变得“无服务器”。 也就是说,组织的某些部分(从事探索性工作的人们)可以利用企业的其余部分,而不必严格“拥有”完整的实施方案。

企业产品组合的不同部分以及应用程序开发生命周期的不同范围要求使用不同的工具和方法,所有这些工具和方法都旨在“在当前环境下,最快实现价值的最佳方法是什么?”。 我们应该更加专注于发掘我们真正的“背景”,并基于此做出关于投资,所有权,技术等的最佳决策。

问你自己:

  • 您在产品生命周期中处于何处?
  • 您应该拥有什么技术来解决您的业务问题?
  • 您的团队目前对现有技术有多满意?
  • 您正在考虑采用“无服务器”功能的功能对您的业务有多么战略和“核心”?

很高兴在评论中或Twitter @christianposta上发表分歧或想法

尽可能做到无服务器,但不要超过 2018年9月14日发布的服务器。

翻译自: https://www.javacodegeeks.com/2018/09/be-as-serverless-as-you-can-but-not-more-than-that.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号扫描_科研必备“武器”之扫描电子显微镜

仪器介绍扫描电子显微镜(英语名称为Scanning Electron Microscope,缩写为SEM),简称扫描电镜。它是一种电子显微镜,利用聚焦电子束扫描样品的表面来产生样品表面的图像。最常见的扫描电镜模式是检测由电子束激发的原子发…

解决office一打开就显示正在更新,过一会就报错的问题

问题描述: 一打开office就显示正在更新,请稍后,过一会就弹窗报错。 解决方案: 1.winR输入services.msc 2.将Microsoft Office即点即用服务设为自动 如果第二步中已经是自动状态,先禁用一下,再重新设置为…

框架如何调用存储过程_如何在FastReport.Net中使用存储过程

在本文中,我们将讨论使用存储过程来检索报表的数据,使用MS SQL示例,将展示如何在报表中创建和使用函数。Transact SQL允许创建存储过程和函数,存储过程用于自动执行任何操作,这些功能旨在扩展查询功能,它们…

Word无法插入公式项目灰色不可用

在我们平时办公或者是论文写作过程中,插入编辑公式是非常常见的操作。但是有时候我们打开Word点击插入发现公式图标为灰色且不可选。接下来我将介绍如何解决。 1、打开文档找到插入公式位置点击插入选项。 2、发现公式符号变为灰色且不可选择。 3、点击左上角的【文…

同源策略为什么可以防csrf_Spring Security 如何预防CSRF跨域攻击?

序言前面我们学习了 spring security 与 springmvc 的整合入门教程。spring secutity整合springboot入门spring security 使用 maven 导入汇总spring security 业界标准加密策略源码详解这一节我们来学习一下 spring security 是如何预防 CSRF 攻击的。拓展阅读web 安全系列-04…

centos移动文件到指定目录_Dynamo批量分离中心文件并另存到指定目录

我们在做项目的时候,为了方便协作,一般都会采用中心文件的方式,但是最终交付的时候,是需要把中心文件分离的,一个一个的分离,感觉还是他麻烦了,于是就想到用Dynamo来批量操作,简单测…

轻松监控Docker容器中的ADF应用程序

在这篇简短的文章中,我将展示一种简单的方法,以确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序。 我将使用标准工具JConsole,它是计算机上JDK安装的一部分。 如果存在问题(例如,内存泄漏&a…

int型 判断奇偶_XSS(Reflected) 反射型跨站攻击

今天我学习一下反射型XSS。1、low级别打开DVWA网站&#xff0c;先切换到low级别&#xff0c;选择XSS&#xff08;Reflected&#xff09;先查看其源代码&#xff1a;<?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_exists( "…

junit 运行_运行,JUnit! 跑!!!

junit 运行JUnit与JavaScript和SVN一起是程序员经常开始使用的一些技术&#xff0c;甚至没有读过一篇博客文章&#xff0c;更不用说一本书了。 也许这是一件好事&#xff0c;因为它们看起来足够简单并且易于理解&#xff0c;因此我们可以立即使用它们而无需任何手册&#xff0c…

将Host Cobol批次和Monolith Webapps移动到云和微服务

在Amazon Event “从大型机到微服务– Vanguard迁移到云”中非常有趣的演示。 以下部分可用作迁移模式 &#xff1a;如何从大型机迁移到微服务的不同方式&#xff1a; 重新托管 再造 重构 使用Linux和Java重新平台 回购 退役 全部结合 该演示文稿还展示了Vanguard的Cloud…

flutterapp部分手机无法打开_Flutter应用程序在最新更新后无法运行

Environment DetailsWindows VS CodeFlutter 1.17.5 • channel stable • https://github.com/flutter/flutter.gitFramework • revision 8af6b2f038 (3 days ago) • 2020-06-30 12:53:55 -0700Engine • revision ee76268252Tools • Dart 2.8.4Error From Debug ConsoleE…

android动态添加的页面怎么加功能_Android跳转应用安装页面

一.低版本跳转方式Intent intent new Intent(Intent.ACTION_VIEW);intent.setDataAndType(uri,"application/vnd.android.package-archive");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivityForResult(intent, 666);uri是apk的uri记得不要忘了在mani…

字节数组转为二进制数 c#_如何使用字节序列化双精度数组(二进制增量编码,用于低差单调浮点数据集)...

字节数组转为二进制数 c#低延迟系统需要高性能的消息处理和传递。 由于在大多数情况下&#xff0c;数据必须通过有线传输或序列化才能保持持久性&#xff0c;因此编码和解码消息已成为处理管道的重要组成部分。 高性能数据编码的最佳结果通常涉及应用程序数据细节的知识。 本文…

java用户的登录图片_Java 如何用 token 做用户登录认证

1、什么是 token&#xff1f;&#xff1f;&#xff1f;Token 是服务端生成的一串字符串&#xff0c;以作客户端进行请求的一个令牌。2、token 做用户登录认证● 流程3、 Java 实现● 用户登录生成 token&#xff0c;保存到 Redis 中最简单的 token 可由 uid (用户唯一的身份标识…

服务器安装mysql要密码_在阿里云服务器上安装mysql及重置密码

参考链接&#xff1a;https://www.cnblogs.com/ljysy/p/10324854.html下载与安装MySQL&#xff1a;这里采用Yum管理好了各种rpm包的依赖&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;所以在安装完成后必须要卸掉&#xff0c;否则会自动更新。1.安装MySQL官…

Corda服务的异步流调用

如何使流程更快&#xff1f; 如果您已经与Corda合作了一段时间&#xff0c;那么您很有可能已经考虑过这一点。 您可以通过以下几方面进行合理的调整来提高性能&#xff1a;事务大小&#xff0c;优化查询并减少整个Flow执行过程中所需的网络跃点数。 在某种程度上&#xff0c;还…

jsf 后台参数到页面_JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能...

jsf 后台参数到页面其中一个JSF 2不错的特点出现在Java企业版的JavaEE 6 &#xff0c;是你可以传递参数给喜欢的commandButton和commandLink组件的任何动作元件操作方法。 基于此&#xff0c;您可以最小化托管bean中的方法数量。 另外&#xff0c;为了最小化在bean内部设置的…

mysql odbc ado性能差异_ODBC、OLEDB和ADO之间的关系 ,以及性能比较

学习了.net视频之后&#xff0c;对里面涉及到的数据库连接部分中的一些概念表示很无语。网上很多相关资料&#xff0c;但除了网站不一样外&#xff0c;基本上内容都神一样的一致。现在&#xff0c;我就通过结合看到的一些资料再加上自己的理解试图去解释一下&#xff0c;有不对…

轻松与外来客户进行REST通信

在这个例子中&#xff0c;我们将向您展示如何使用Feign客户端开发一个简单的Spring Boot Application&#xff0c;以使用Weather REST服务。 Spring Boot是基于Java的框架&#xff0c;可简化Web和企业应用程序的构建。 Spring Boot具有嵌入式Tomcat&#xff0c;提供“启动器”…

通过Spring Boot了解H2 InMemory数据库

介绍 基本上&#xff0c;数据库设置涉及几个步骤&#xff0c;然后才能在应用程序中通过已配置的数据源使用它。 在实际项目实施中&#xff0c;这实际上是必需的。 但是&#xff0c;在某些情况下&#xff0c;我们只需要为某些事情完成POC&#xff0c;而整个数据库设置工作仍然是…