- Serverless applications take advantage of modern cloud computing capabilities and abstractions to let you focus on logic rather than on infrastructure. In a serverless environment, you can concentrate on writing application code while the underlying platform takes care of scaling, runtimes, resource allocation, security, and other “server” specifics.
无服务器应用利用现代云计算能力且将其抽象化,让你更加关注逻辑而不是基础架构。在无服务器环境中,你只关注你的应用代码而不是底层平台关心的伸缩性,运行,资源分配,安全或者其他的服务器本身的特点。
-
What is serverless?
- Serverless workloads are “event-driven workloads that aren’t concerned with aspects normally handled by server infrastructure.” Concerns like “how many instances to run” and “what operating system to use” are all managed by a Function as a Service platform (or FaaS), leaving developers free to focus on business logic.
Serverless workloads 是一种与服务基础架构常规处理方法无关的事件驱动的workloads。
-
Serverless characteristics?
Serverless的特点
- Serverless applications have a number of specific characteristics, including:
- Event-driven code execution with triggers
- Platform handles all the starting, stopping, and scaling chores
- Scales to zero, with low to no cost when idle
- Stateless
Serverless应用有一些很特别的特点,包括:
使用触发器执行事件驱动代码
平台控制所有的启动,停止和各项杂事。
空闲时伸缩性极小,小到无消耗。
无状态。
-
Why Spring and Serverless?
-
The Spring portfolio provides a robust collection of functionality for use within serverless applications. Whether accessing data with Spring Data, using the enterprise integration patterns with Spring Integration, or using the latest in reactive programming with Spring Framework and Project Reactor, Spring lets developers be productive in a serverless environment from day one.
Spring also helps your functions avoid vendor lock-in. The adapters provided by Spring Cloud Function let you decouple from vendor-specific APIs when running your code on their platform.
Spring全家桶提供了一个使用serverless应用的强大功能集合。如果用SpringData来处理数据,用Spring Integration来使用企业集成模式,或者在Spring框架和Project Reactor上用最新的响应式编程,spring让开发者在无服务器环境中高效工作一整天。
Spring也帮助你避免功能被锁定。Spring Cloud Function提供的适配器让你从特定的API中分离,当在其他的平台上运行代码时。
-
In detail: Spring Cloud Function
-
Spring Cloud Function provides capabilities that lets Spring developers take advantage of serverless or FaaS platforms.
SpringCloudFunction为开发者提供利用FaaS平台的能力。
-
The
java.util.function
package from core Java serves as the foundation of the programming model used by Spring Cloud Function. In a nutshell, Spring Cloud Function provides:
来自Java核心包java.util.function充当
使用Spring Cloud Function的编程模型的基础。简单来说,Spring Cloud Function能提供如下能力:
- Choice of programming styles: reactive, imperative, or hybrid.
选择编程风格:响应式,命令式,或者混合式。
- Function composition and adaptation (such as composing imperative functions with reactive).
功能组成和改编(像是带有响应式的命令式功能)---不会翻译
- Support for reactive function with multiple inputs and outputs to let functions handle merging, joining, and other complex streaming operations.
支持多种输入和输出的响应式函数,让功能能控制合并,加入或其他复杂的操作流。
- Transparent type conversion of inputs and outputs.
输入和输出的透明类型转换
- Packaging functions for deployments, specific to the target platform (such as Project Riff, AWS Lambda, and more; see below).
为部署将函数打包,指定目标平台(如Project Riff, AWS Lambda)
- Functions with flexible signatures (POJO functions) - “if it looks like a function, it’s a function”
带有灵活签名的函数,如果它像一个函数,那么它就是。
- All other benefits of Spring's idioms and programming model.
Spring的习惯用法和编程模型的所有其他好处