SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
© 2017 IBM Corporation
홍상표
KSUG(Korea Spring User Group) 일꾼
Backend Developer in SK Planet
Spring Cloud Function
Serverless Framework
© 2017 IBM Corporation Page 2
Spring Cloud Function
Spring Cloud Function
– http://cloud.spring.io/spring-cloud-function
– 1.0.0.M1 Release
– https://spring.io/blog/2017/07/05/introducing-spring-cloud-function
– https://springoneplatform.io/sessions/serverless-spring
© 2017 IBM Corporation Page 3
Spring Cloud Function
© 2017 IBM Corporation Page 4
Goals
Spring Cloud Function
– Promote the implementation of business logic via functions.
– Decouple the development lifecycle of business logic from any specific runtime
target so that the same code can run as a web endpoint, a stream processor, or a
task.
– Support a uniform programming model across serverless providers, as well as the
ability to run standalone (locally or in a PaaS).
– Enable Spring Boot features (auto-configuration, dependency injection, metrics) on
serverless providers.
© 2017 IBM Corporation Page 5
영문자를 입력받아 대문자를 반환하는 함수
Spring Cloud Function
public class Application {
public Function<String, String> uppercase() {
return new Function<String, String>(){
@Override
public String apply(String value) {
return value.toUpperCase();
}
};
}
}
© 2017 IBM Corporation Page 6
영문자를 입력받아 대문자를 반환하는 함수
Spring Cloud Function
public class Application {
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
}
© 2017 IBM Corporation Page 7
영문자를 입력받아 대문자를 반환하는 함수
Spring Cloud Function
public class Application {
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
public static void main(String[] args) {
Application application = new Application();
String inStr = "korea spring user group";
String outStr = application.uppercase().apply(inStr);
System.out.println(outStr);
}
}
© 2017 IBM Corporation Page 8
Spring Cloud Function
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
영문자를 입력받아 대문자를 반환하는 함수
: Spring Web
© 2017 IBM Corporation Page 9
Spring Cloud Function
@SpringBootApplication
@RestController
public class ServerlessApplication {
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
@RequestMapping("uppercase")
public String uppercase(@RequestBody String value) {
return uppercase().apply(value);
}
public static void main(String[] args) {
SpringApplication.run(ServerlessApplication.class, args);
}
}
영문자를 입력받아 대문자를 반환하는 함수
: Spring Web
© 2017 IBM Corporation Page 10
Spring Cloud Function
>curl -H "Content-Type: text/plain" localhost:8080/uppercase -d hello
>HELLO
영문자를 입력받아 대문자를 반환하는 함수
: Spring Web
© 2017 IBM Corporation Page 11
영문자를 입력받아 대문자를 반환하는 함수
: Spring Cloud Function
Spring Cloud Function
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-web</artifactId>
</dependency>
© 2017 IBM Corporation Page 12
영문자를 입력받아 대문자를 반환하는 함수
: Spring Cloud Function
Spring Cloud Function
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-web</artifactId>
</dependency>
Java 8, Springboot 1.5.x
© 2017 IBM Corporation Page 13
Spring Cloud Function
@SpringBootApplication
@RestController
public class ServerlessApplication {
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
@RequestMapping("uppercase")
public String uppercase(@RequestBody String value) {
return uppercase().apply(value);
}
public static void main(String[] args) {
SpringApplication.run(ServerlessApplication.class, args);
}
}
영문자를 입력받아 대문자를 반환하는 함수
: Spring Web
© 2017 IBM Corporation Page 14
Spring Cloud Function
@SpringBootApplication
public class CloudFunctionApplication {
@Bean
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
public static void main(String[] args) {
SpringApplication.run(CloudFunctionApplication.class, args);
}
}
영문자를 입력받아 대문자를 반환하는 함수
: Spring Cloud Function
© 2017 IBM Corporation Page 15
Spring Cloud Function
>curl -H "Content-Type: text/plain" localhost:8080/uppercase -d hello
>HELLO
영문자를 입력받아 대문자를 반환하는 함수
: Spring Cloud Function
© 2017 IBM Corporation Page
Functions
16
Spring Cloud Function Web
: Spring Cloud Function Web 흐름도.
Spring Cloud Function
HTTP Web
Spring Boot
Function
Function
© 2017 IBM Corporation Page 17
Spring Cloud Function
public interface Function<T, R> {
R apply(T t);
}
Spring Cloud Function
: java.util.function interface
© 2017 IBM Corporation Page 18
Spring Cloud Function
public interface Consumer<T> {
void accept(T t);
}
Spring Cloud Function
: java.util.function interface
© 2017 IBM Corporation Page 19
Spring Cloud Function
public interface Supplier<T> {
T get();
}
Spring Cloud Function
: java.util.function interface
© 2017 IBM Corporation Page 20
Spring Cloud Function Stream
Spring Cloud Function
@SpringBootApplication
public class Application {
@Bean
public Function<Flux<String>, Flux<String>> uppercase() {
return flux -> flux.map(value -> value.toUpperCase());
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
© 2017 IBM Corporation Page
Functions
21
Spring Cloud Function
Spring Boot
Function
FunctionStream
Message
Spring Cloud Function Stream
: Spring Cloud Function Stream 흐름도.
© 2017 IBM Corporation Page 22
Goals
Spring Cloud Function
– Promote the implementation of business logic via functions.
– Decouple the development lifecycle of business logic from any specific runtime target
so that the same code can run as a web endpoint, a stream processor, or a task.
– Support a uniform programming model across serverless providers, as well as the
ability to run standalone (locally or in a PaaS).
– Enable Spring Boot features (auto-configuration, dependency injection, metrics) on
serverless providers.
© 2017 IBM Corporation Page
Functions
23
Spring Cloud Function Adapter
Spring Cloud Function
HTTP
Serverless Provider
IBM Cloud Function
Function
Function
Adapter
Message
Serverless Provider
AWS Lamda
© 2017 IBM Corporation Page 24
Spring Cloud Function Adapter
Spring Cloud Function
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-openwhisk</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-aws</artifactId>
</dependency>
© 2017 IBM Corporation Page 25
예제
package functions;
import java.util.Optional;
import java.util.function.Function;
public class Uppercase implements Function<String, String> {
@Override
public String apply(String input) {
return Optional.ofNullable(input).map(String::toUpperCase).orElse("");
}
}
Spring Cloud Function
© 2017 IBM Corporation Page 26
예제
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-openwhisk</artifactId>
</dependency>
Spring Cloud Function
© 2017 IBM Corporation Page 27
Docker
Spring Cloud Function
https://docs.docker.com/docker-for-mac/install/
© 2017 IBM Corporation Page 28
Docker
Spring Cloud Function
© 2017 IBM Corporation Page 29
Docker
Spring Cloud Function
© 2017 IBM Corporation Page 30
예제
Spring Cloud Function
– Dockerfile
FROM openjdk:8-jdk-alpine
ADD build/libs/function.jar .
ENV JAVA_OPTS=""
ENTRYPOINT [ "java", "-jar", "function.jar", "--function.name=uppercase"]
EXPOSE 8080
© 2017 IBM Corporation Page 31
예제
Spring Cloud Function
> docker build -t hspmuse/function-on-spring-cloud-function .
© 2017 IBM Corporation Page 32
예제
Spring Cloud Function
> docker push hspmuse/function-on-spring-cloud-function
© 2017 IBM Corporation Page 33
예제
Spring Cloud Function
https://hub.docker.com
© 2017 IBM Corporation Page 34
예제
Spring Cloud Function
https://hub.docker.com/
© 2017 IBM Corporation Page 35
예제
Spring Cloud Function
> bx wsk
action create function-on-spring-cloud-function

-m 512
--docker hspmuse/function-on-spring-cloud-function
© 2017 IBM Corporation Page 36
예제
Spring Cloud Function
© 2017 IBM Corporation Page 37
예제
Spring Cloud Function
> bx wsk action invoke function-on-spring-cloud-function --param payload
ksug --result
© 2017 IBM Corporation Page 38
예제
Spring Cloud Function
© 2017 IBM Corporation Page 39
예제
Spring Cloud Function
© 2017 IBM Corporation Page 40
예제
Spring Cloud Function
© 2017 IBM Corporation Page 41
Spring Cloud Function
https://openwhisk.ng.bluemix.net/api/v1/namespaces/ksug_dev/actions/
function-on-spring-cloud-function
© 2017 IBM Corporation Page 42
Spring Cloud Function
Spring Cloud Function
© 2017 IBM Corporation Page 43
Serverless
Serverless
Server + less
© 2017 IBM Corporation Page 44
Serverless
Serverless
~ less : ~이 없는
Server + less
© 2017 IBM Corporation Page 45
Serverless
Serverless
Server + (manage)less
© 2017 IBM Corporation Page 46
Serverless Architecture
Serverless
– 특정이벤트에 동작하는 함수를 등록, 이벤트가 발생하면 함수가 실행.
– 서버 관리가 사라진 구조.
– 자동으로 스케일 업/다운.
– 사용한 만큼 비용 지불.
– Faas(Function as a Service)
© 2017 IBM Corporation Page 47
IBM Cloud Function 비용
Serverless
© 2017 IBM Corporation Page 48
3-tier Architecture
Serverless
참조 : https://martinfowler.com/articles/serverless.html
© 2017 IBM Corporation Page 49
Serverless Architecture
Serverless
참조 : https://martinfowler.com/articles/serverless.html
© 2017 IBM Corporation Page 50
Serverless Architecture
Serverless
참조 : https://martinfowler.com/articles/serverless.html
© 2017 IBM Corporation Page 51
Serverless 추가정보
Serverless
마틴파일러 사이트
https://martinfowler.com/articles/serverless.html
번역본
http://blog.aliencube.org/ko/2016/06/23/serverless-architectures/
© 2017 IBM Corporation Page 52
Serverless Provider
Serverless
– IBM Cloud Functions : OpenWhisk
– Amazon Lambda
– Google Cloud Functions.
– Azure Function.
– Fission
– Kubeless
– …….
© 2017 IBM Corporation Page 53
Serverless Provider
Serverless
– IBM Cloud Functions : OpenWhisk
– Amazon Lambda
– Google Cloud Functions.
– Azure Function.
– Fission
– Kubeless
– …….
© 2017 IBM Corporation Page 54
마무리.
Spring Cloud Function
– Spring Developer : 좀더 친숙하게 Function 개발.
– Function 개발자 : Spring을 알 필요 없음.
– 동일한 코드를 다양한 서버리스 프로바이더에서 실행.
– 서버리스 프로바이더에 독립.
– 동일한 deploy.
© 2017 IBM Corporation Page 55
참조.
Spring Cloud Function
– https://spring.io/blog/2017/07/05/introducing-spring-cloud-function
– http://cloud.spring.io/spring-cloud-function
– https://martinfowler.com/articles/serverless.html

( 번역 : http://blog.aliencube.org/ko/2016/06/23/serverless-architectures/ )
– https://www.youtube.com/watch?v=lJEYG2PjGNU

( 발표 PT : http://presos.dsyer.com/decks/road-to-serverless.html )
– http://www.kennybastani.com/2017/07/microservices-to-service-blocks-spring-
cloud-function-aws-lambda.html
© 2017 IBM Corporation Page 56
궁금한 점은..…
Spring Cloud Function
– KSUG 구글 그룹

https://groups.google.com/forum/#!categories/ksug

– KSUG 페이스북 그룹

https://www.facebook.com/groups/springkorea/?ref=bookmarks

Mais conteúdo relacionado

Mais procurados

Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tToshiaki Maki
 
Spring Framework - Data Access
Spring Framework - Data AccessSpring Framework - Data Access
Spring Framework - Data AccessDzmitry Naskou
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...Edureka!
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introductionRasheed Waraich
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesClaus Ibsen
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - CoreDzmitry Naskou
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0VMware Tanzu
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootOmri Spector
 

Mais procurados (20)

Spring Boot
Spring BootSpring Boot
Spring Boot
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
 
Spring Framework - Data Access
Spring Framework - Data AccessSpring Framework - Data Access
Spring Framework - Data Access
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...
Spring Boot Tutorial | Microservices Spring Boot | Microservices Architecture...
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Camunda in Action
Camunda in ActionCamunda in Action
Camunda in Action
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 

Semelhante a Spring Cloud Function

Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 
Serverless Spring by Stephane Maldini
Serverless Spring by Stephane MaldiniServerless Spring by Stephane Maldini
Serverless Spring by Stephane MaldiniVMware Tanzu
 
The Crazy Service Mesh Ecosystem
The Crazy Service Mesh EcosystemThe Crazy Service Mesh Ecosystem
The Crazy Service Mesh EcosystemAll Things Open
 
All things open 2019 crazy-sm-ecosystem
All things open 2019 crazy-sm-ecosystemAll things open 2019 crazy-sm-ecosystem
All things open 2019 crazy-sm-ecosystemLin Sun
 
Rest web service_with_spring_hateoas
Rest web service_with_spring_hateoasRest web service_with_spring_hateoas
Rest web service_with_spring_hateoasZeid Hassan
 
[Codemash] Caching Made "Bootiful"!
[Codemash] Caching Made "Bootiful"![Codemash] Caching Made "Bootiful"!
[Codemash] Caching Made "Bootiful"!Viktor Gamov
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0Eugenio Romano
 
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareEvent Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareHostedbyConfluent
 
A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom Joshua Long
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudRamnivas Laddad
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesAmazon Web Services
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegelermfrancis
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316Jupil Hwang
 
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...Frederic Lavigne
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsIBM UrbanCode Products
 
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky..."Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...Provectus
 

Semelhante a Spring Cloud Function (20)

Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Serverless Spring by Stephane Maldini
Serverless Spring by Stephane MaldiniServerless Spring by Stephane Maldini
Serverless Spring by Stephane Maldini
 
The Crazy Service Mesh Ecosystem
The Crazy Service Mesh EcosystemThe Crazy Service Mesh Ecosystem
The Crazy Service Mesh Ecosystem
 
All things open 2019 crazy-sm-ecosystem
All things open 2019 crazy-sm-ecosystemAll things open 2019 crazy-sm-ecosystem
All things open 2019 crazy-sm-ecosystem
 
Rest web service_with_spring_hateoas
Rest web service_with_spring_hateoasRest web service_with_spring_hateoas
Rest web service_with_spring_hateoas
 
[Codemash] Caching Made "Bootiful"!
[Codemash] Caching Made "Bootiful"![Codemash] Caching Made "Bootiful"!
[Codemash] Caching Made "Bootiful"!
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0
 
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareEvent Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
 
A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container Services
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
 
Mashups
MashupsMashups
Mashups
 
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...
Codemotion Berlin 2017 - Event-driven and serverless applications with IBM Cl...
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with Plugins
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky..."Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
"Automating AWS Infrastructure with PowerShell", Martin Beeby, AWS Dev Day Ky...
 

Último

Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyAnusha Are
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Último (20)

Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Spring Cloud Function

  • 1. © 2017 IBM Corporation 홍상표 KSUG(Korea Spring User Group) 일꾼 Backend Developer in SK Planet Spring Cloud Function Serverless Framework
  • 2. © 2017 IBM Corporation Page 2 Spring Cloud Function Spring Cloud Function – http://cloud.spring.io/spring-cloud-function – 1.0.0.M1 Release – https://spring.io/blog/2017/07/05/introducing-spring-cloud-function – https://springoneplatform.io/sessions/serverless-spring
  • 3. © 2017 IBM Corporation Page 3 Spring Cloud Function
  • 4. © 2017 IBM Corporation Page 4 Goals Spring Cloud Function – Promote the implementation of business logic via functions. – Decouple the development lifecycle of business logic from any specific runtime target so that the same code can run as a web endpoint, a stream processor, or a task. – Support a uniform programming model across serverless providers, as well as the ability to run standalone (locally or in a PaaS). – Enable Spring Boot features (auto-configuration, dependency injection, metrics) on serverless providers.
  • 5. © 2017 IBM Corporation Page 5 영문자를 입력받아 대문자를 반환하는 함수 Spring Cloud Function public class Application { public Function<String, String> uppercase() { return new Function<String, String>(){ @Override public String apply(String value) { return value.toUpperCase(); } }; } }
  • 6. © 2017 IBM Corporation Page 6 영문자를 입력받아 대문자를 반환하는 함수 Spring Cloud Function public class Application { public Function<String, String> uppercase() { return value -> value.toUpperCase(); } }
  • 7. © 2017 IBM Corporation Page 7 영문자를 입력받아 대문자를 반환하는 함수 Spring Cloud Function public class Application { public Function<String, String> uppercase() { return value -> value.toUpperCase(); } public static void main(String[] args) { Application application = new Application(); String inStr = "korea spring user group"; String outStr = application.uppercase().apply(inStr); System.out.println(outStr); } }
  • 8. © 2017 IBM Corporation Page 8 Spring Cloud Function <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> 영문자를 입력받아 대문자를 반환하는 함수 : Spring Web
  • 9. © 2017 IBM Corporation Page 9 Spring Cloud Function @SpringBootApplication @RestController public class ServerlessApplication { public Function<String, String> uppercase() { return value -> value.toUpperCase(); } @RequestMapping("uppercase") public String uppercase(@RequestBody String value) { return uppercase().apply(value); } public static void main(String[] args) { SpringApplication.run(ServerlessApplication.class, args); } } 영문자를 입력받아 대문자를 반환하는 함수 : Spring Web
  • 10. © 2017 IBM Corporation Page 10 Spring Cloud Function >curl -H "Content-Type: text/plain" localhost:8080/uppercase -d hello >HELLO 영문자를 입력받아 대문자를 반환하는 함수 : Spring Web
  • 11. © 2017 IBM Corporation Page 11 영문자를 입력받아 대문자를 반환하는 함수 : Spring Cloud Function Spring Cloud Function <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-function-web</artifactId> </dependency>
  • 12. © 2017 IBM Corporation Page 12 영문자를 입력받아 대문자를 반환하는 함수 : Spring Cloud Function Spring Cloud Function <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-function-web</artifactId> </dependency> Java 8, Springboot 1.5.x
  • 13. © 2017 IBM Corporation Page 13 Spring Cloud Function @SpringBootApplication @RestController public class ServerlessApplication { public Function<String, String> uppercase() { return value -> value.toUpperCase(); } @RequestMapping("uppercase") public String uppercase(@RequestBody String value) { return uppercase().apply(value); } public static void main(String[] args) { SpringApplication.run(ServerlessApplication.class, args); } } 영문자를 입력받아 대문자를 반환하는 함수 : Spring Web
  • 14. © 2017 IBM Corporation Page 14 Spring Cloud Function @SpringBootApplication public class CloudFunctionApplication { @Bean public Function<String, String> uppercase() { return value -> value.toUpperCase(); } public static void main(String[] args) { SpringApplication.run(CloudFunctionApplication.class, args); } } 영문자를 입력받아 대문자를 반환하는 함수 : Spring Cloud Function
  • 15. © 2017 IBM Corporation Page 15 Spring Cloud Function >curl -H "Content-Type: text/plain" localhost:8080/uppercase -d hello >HELLO 영문자를 입력받아 대문자를 반환하는 함수 : Spring Cloud Function
  • 16. © 2017 IBM Corporation Page Functions 16 Spring Cloud Function Web : Spring Cloud Function Web 흐름도. Spring Cloud Function HTTP Web Spring Boot Function Function
  • 17. © 2017 IBM Corporation Page 17 Spring Cloud Function public interface Function<T, R> { R apply(T t); } Spring Cloud Function : java.util.function interface
  • 18. © 2017 IBM Corporation Page 18 Spring Cloud Function public interface Consumer<T> { void accept(T t); } Spring Cloud Function : java.util.function interface
  • 19. © 2017 IBM Corporation Page 19 Spring Cloud Function public interface Supplier<T> { T get(); } Spring Cloud Function : java.util.function interface
  • 20. © 2017 IBM Corporation Page 20 Spring Cloud Function Stream Spring Cloud Function @SpringBootApplication public class Application { @Bean public Function<Flux<String>, Flux<String>> uppercase() { return flux -> flux.map(value -> value.toUpperCase()); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
  • 21. © 2017 IBM Corporation Page Functions 21 Spring Cloud Function Spring Boot Function FunctionStream Message Spring Cloud Function Stream : Spring Cloud Function Stream 흐름도.
  • 22. © 2017 IBM Corporation Page 22 Goals Spring Cloud Function – Promote the implementation of business logic via functions. – Decouple the development lifecycle of business logic from any specific runtime target so that the same code can run as a web endpoint, a stream processor, or a task. – Support a uniform programming model across serverless providers, as well as the ability to run standalone (locally or in a PaaS). – Enable Spring Boot features (auto-configuration, dependency injection, metrics) on serverless providers.
  • 23. © 2017 IBM Corporation Page Functions 23 Spring Cloud Function Adapter Spring Cloud Function HTTP Serverless Provider IBM Cloud Function Function Function Adapter Message Serverless Provider AWS Lamda
  • 24. © 2017 IBM Corporation Page 24 Spring Cloud Function Adapter Spring Cloud Function <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-function-adapter-openwhisk</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-function-adapter-aws</artifactId> </dependency>
  • 25. © 2017 IBM Corporation Page 25 예제 package functions; import java.util.Optional; import java.util.function.Function; public class Uppercase implements Function<String, String> { @Override public String apply(String input) { return Optional.ofNullable(input).map(String::toUpperCase).orElse(""); } } Spring Cloud Function
  • 26. © 2017 IBM Corporation Page 26 예제 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-function-adapter-openwhisk</artifactId> </dependency> Spring Cloud Function
  • 27. © 2017 IBM Corporation Page 27 Docker Spring Cloud Function https://docs.docker.com/docker-for-mac/install/
  • 28. © 2017 IBM Corporation Page 28 Docker Spring Cloud Function
  • 29. © 2017 IBM Corporation Page 29 Docker Spring Cloud Function
  • 30. © 2017 IBM Corporation Page 30 예제 Spring Cloud Function – Dockerfile FROM openjdk:8-jdk-alpine ADD build/libs/function.jar . ENV JAVA_OPTS="" ENTRYPOINT [ "java", "-jar", "function.jar", "--function.name=uppercase"] EXPOSE 8080
  • 31. © 2017 IBM Corporation Page 31 예제 Spring Cloud Function > docker build -t hspmuse/function-on-spring-cloud-function .
  • 32. © 2017 IBM Corporation Page 32 예제 Spring Cloud Function > docker push hspmuse/function-on-spring-cloud-function
  • 33. © 2017 IBM Corporation Page 33 예제 Spring Cloud Function https://hub.docker.com
  • 34. © 2017 IBM Corporation Page 34 예제 Spring Cloud Function https://hub.docker.com/
  • 35. © 2017 IBM Corporation Page 35 예제 Spring Cloud Function > bx wsk action create function-on-spring-cloud-function
 -m 512 --docker hspmuse/function-on-spring-cloud-function
  • 36. © 2017 IBM Corporation Page 36 예제 Spring Cloud Function
  • 37. © 2017 IBM Corporation Page 37 예제 Spring Cloud Function > bx wsk action invoke function-on-spring-cloud-function --param payload ksug --result
  • 38. © 2017 IBM Corporation Page 38 예제 Spring Cloud Function
  • 39. © 2017 IBM Corporation Page 39 예제 Spring Cloud Function
  • 40. © 2017 IBM Corporation Page 40 예제 Spring Cloud Function
  • 41. © 2017 IBM Corporation Page 41 Spring Cloud Function https://openwhisk.ng.bluemix.net/api/v1/namespaces/ksug_dev/actions/ function-on-spring-cloud-function
  • 42. © 2017 IBM Corporation Page 42 Spring Cloud Function Spring Cloud Function
  • 43. © 2017 IBM Corporation Page 43 Serverless Serverless Server + less
  • 44. © 2017 IBM Corporation Page 44 Serverless Serverless ~ less : ~이 없는 Server + less
  • 45. © 2017 IBM Corporation Page 45 Serverless Serverless Server + (manage)less
  • 46. © 2017 IBM Corporation Page 46 Serverless Architecture Serverless – 특정이벤트에 동작하는 함수를 등록, 이벤트가 발생하면 함수가 실행. – 서버 관리가 사라진 구조. – 자동으로 스케일 업/다운. – 사용한 만큼 비용 지불. – Faas(Function as a Service)
  • 47. © 2017 IBM Corporation Page 47 IBM Cloud Function 비용 Serverless
  • 48. © 2017 IBM Corporation Page 48 3-tier Architecture Serverless 참조 : https://martinfowler.com/articles/serverless.html
  • 49. © 2017 IBM Corporation Page 49 Serverless Architecture Serverless 참조 : https://martinfowler.com/articles/serverless.html
  • 50. © 2017 IBM Corporation Page 50 Serverless Architecture Serverless 참조 : https://martinfowler.com/articles/serverless.html
  • 51. © 2017 IBM Corporation Page 51 Serverless 추가정보 Serverless 마틴파일러 사이트 https://martinfowler.com/articles/serverless.html 번역본 http://blog.aliencube.org/ko/2016/06/23/serverless-architectures/
  • 52. © 2017 IBM Corporation Page 52 Serverless Provider Serverless – IBM Cloud Functions : OpenWhisk – Amazon Lambda – Google Cloud Functions. – Azure Function. – Fission – Kubeless – …….
  • 53. © 2017 IBM Corporation Page 53 Serverless Provider Serverless – IBM Cloud Functions : OpenWhisk – Amazon Lambda – Google Cloud Functions. – Azure Function. – Fission – Kubeless – …….
  • 54. © 2017 IBM Corporation Page 54 마무리. Spring Cloud Function – Spring Developer : 좀더 친숙하게 Function 개발. – Function 개발자 : Spring을 알 필요 없음. – 동일한 코드를 다양한 서버리스 프로바이더에서 실행. – 서버리스 프로바이더에 독립. – 동일한 deploy.
  • 55. © 2017 IBM Corporation Page 55 참조. Spring Cloud Function – https://spring.io/blog/2017/07/05/introducing-spring-cloud-function – http://cloud.spring.io/spring-cloud-function – https://martinfowler.com/articles/serverless.html
 ( 번역 : http://blog.aliencube.org/ko/2016/06/23/serverless-architectures/ ) – https://www.youtube.com/watch?v=lJEYG2PjGNU
 ( 발표 PT : http://presos.dsyer.com/decks/road-to-serverless.html ) – http://www.kennybastani.com/2017/07/microservices-to-service-blocks-spring- cloud-function-aws-lambda.html
  • 56. © 2017 IBM Corporation Page 56 궁금한 점은..… Spring Cloud Function – KSUG 구글 그룹
 https://groups.google.com/forum/#!categories/ksug
 – KSUG 페이스북 그룹
 https://www.facebook.com/groups/springkorea/?ref=bookmarks