Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Serverless Computing과 친해지기
[3rd] Oracle Developer Meetup
The Fn Project
Open Source Serverless Computing
김종규 (jonggyou.kim@oracle.com )
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
서버리스란?
애플리케이션
라이브러리
컨테이너
실행환경
운영 시스템
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
서버리스 아키텍처
“애플리케이션 개발을 위한 새로운 아키텍처”
• 시스템에 관해 신경 쓰지 않음.
• 서비스 준비시간이 매우 빠름
• 사용되는 시간만 지불
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
애플리케이션 아키텍처
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Function as a Service (FaaS)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Function
서버리스 아키텍처의 중심
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
클라우드 애플리케이션 서비스 타입
Virtual Machine Container
Application Platform
as a Service (aPaaS)
Functions
(Serverless)
Oracle Compute
AWS EC2
Azure VM
IBM Softlayer
Docker, Rocket, RunC,
LXC, …
Oracle Application Container
Heroku, Bluemix,
Oracle Functions
AWS Lambda
OpenWhisk
Azure Functions
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
배포 대상 종속성
애플리케이션
라이브러리
컨테이너
실행환경
운영 시스템
Function
Container
VM
aPaaS
서비스 중심
코드에만 집중
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
코드, 코드, 코드
서버리스?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
워크플로
서버리스?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
유기적인 확장
서버리스?
time
users
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
저렴한 비용
서버리스?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Functions-as-a-Service
• 서버리스 아키텍처의 중심
• Function
– 그 자체로 일을 수행할 수 있는 작은 단위
– 어떤 입력을 받고 기능을 수행한 다음 아웃풋을 내는 형태
• Functions-as-a-Service (FaaS)
– Function 하나가 FaaS 플랫폼의 하나의 유닛으로 배포
– 프로비져닝, 배포하고, 스케일 업/다운, 빌링, 인증, 인가, 보안등을 제공
– 매우 빠르고 스케일도 매우 클 수 있으며 어떤 언어나 플랫폼에서도 수행가능
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Functions-as-a-Service
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Functions 플랫폼 제공자
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
이상적인 Functions 플랫폼
• 오픈 소스 – 프로바이더에게 비종속적.
• 런타임 플랫폼에 자유 - laptop, server, cloud에서 모두 수행가능
• 쉬운 접근성 – 사용하기 쉽고 관리하기 쉬운 형태
• Docker 기반 – Docker 기반으로 수행
• 여러 툴 사용가능 - Kubernetes, Swarm, Mesos 등을 사용
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project
www.fnproject.io
An open source Functions Platform
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project
Fn Server FDK Fn Flow
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – Fn Server
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn CLI
• fn init --runtime go
• fn run
• fn test
• fn deploy --app myapp
• fn call myapp myfunc
• → http://localhost:8080/r/myapp/myfunc
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
fn deploy details
• Builds container + bumps version
• Pushes container to registry
• Creates/updates function route
MyFunc:0.0.2
MyFunc:0.0.2 MyFunc:0.0.2
Your code
Fn Service
myfunc →
/r/myapp/myfunc:0.0.2
1 2 3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Architecture
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Detailed Arch
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – FDK (Function Development Kit)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – FDK (Function Development Kit)
JAVA GO
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – FDK (Function Development Kit)
JAVA
GO
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – Fn Flow
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Functions
항공 예약
book
cancel
호텔 예약
book
cancel
렌트카 예약
book
cancel
메일
send
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
개발/테스트/배포
클라우드에서
배포 및 테스트
•~ 30 초
로컬에서
배포 및
테스트
•~ 10 초
테스트 •~ 1 초
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Functions의 조립
항공 예약
book
cancel
호텔 예약
book
cancel
렌트카 예약
book
cancel
메일
send
종료
비행기 예약
호텔 예약
렌트카 예약
메일 전송
시작 yes
yes
yes
yes
no
no
no
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Fn Project – Fn Flow
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Serverless Architecture
Fn Project at Oracle
Functions-as-a-Service
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Serverless at Oracle
Trigger
Kafka Event Bus,
API Platform,
Database (DBaaS),
MySQL CS,
Cache,
WebHooks,
Events from Management Cloud
Messages on the Messaging Cloud
etc.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Serverless at Oracle
Schedule
Event
Policy
CI/CD
Objects
Functions Work Flow Scheduling &
Orchestrator
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
http://github.com/shiftyou/fnproject
실습때 다시 만나용~

Serverless Computing 친해지기,Hands on실습 (한국오라클 김종규 컨설턴트)

  • 1.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Serverless Computing과 친해지기 [3rd] Oracle Developer Meetup The Fn Project Open Source Serverless Computing 김종규 (jonggyou.kim@oracle.com )
  • 2.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 서버리스란? 애플리케이션 라이브러리 컨테이너 실행환경 운영 시스템
  • 3.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 서버리스 아키텍처 “애플리케이션 개발을 위한 새로운 아키텍처” • 시스템에 관해 신경 쓰지 않음. • 서비스 준비시간이 매우 빠름 • 사용되는 시간만 지불
  • 4.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 애플리케이션 아키텍처
  • 5.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Function as a Service (FaaS)
  • 6.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Function 서버리스 아키텍처의 중심
  • 7.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 클라우드 애플리케이션 서비스 타입 Virtual Machine Container Application Platform as a Service (aPaaS) Functions (Serverless) Oracle Compute AWS EC2 Azure VM IBM Softlayer Docker, Rocket, RunC, LXC, … Oracle Application Container Heroku, Bluemix, Oracle Functions AWS Lambda OpenWhisk Azure Functions
  • 8.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 배포 대상 종속성 애플리케이션 라이브러리 컨테이너 실행환경 운영 시스템 Function Container VM aPaaS 서비스 중심 코드에만 집중
  • 9.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 코드, 코드, 코드 서버리스?
  • 10.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 워크플로 서버리스?
  • 11.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 유기적인 확장 서버리스? time users
  • 12.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 저렴한 비용 서버리스?
  • 13.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Functions-as-a-Service • 서버리스 아키텍처의 중심 • Function – 그 자체로 일을 수행할 수 있는 작은 단위 – 어떤 입력을 받고 기능을 수행한 다음 아웃풋을 내는 형태 • Functions-as-a-Service (FaaS) – Function 하나가 FaaS 플랫폼의 하나의 유닛으로 배포 – 프로비져닝, 배포하고, 스케일 업/다운, 빌링, 인증, 인가, 보안등을 제공 – 매우 빠르고 스케일도 매우 클 수 있으며 어떤 언어나 플랫폼에서도 수행가능
  • 14.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Functions-as-a-Service
  • 15.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Functions 플랫폼 제공자
  • 16.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 이상적인 Functions 플랫폼 • 오픈 소스 – 프로바이더에게 비종속적. • 런타임 플랫폼에 자유 - laptop, server, cloud에서 모두 수행가능 • 쉬운 접근성 – 사용하기 쉽고 관리하기 쉬운 형태 • Docker 기반 – Docker 기반으로 수행 • 여러 툴 사용가능 - Kubernetes, Swarm, Mesos 등을 사용
  • 17.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project www.fnproject.io An open source Functions Platform
  • 18.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project Fn Server FDK Fn Flow
  • 19.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – Fn Server
  • 20.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn CLI • fn init --runtime go • fn run • fn test • fn deploy --app myapp • fn call myapp myfunc • → http://localhost:8080/r/myapp/myfunc
  • 21.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | fn deploy details • Builds container + bumps version • Pushes container to registry • Creates/updates function route MyFunc:0.0.2 MyFunc:0.0.2 MyFunc:0.0.2 Your code Fn Service myfunc → /r/myapp/myfunc:0.0.2 1 2 3
  • 22.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Architecture
  • 23.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Detailed Arch
  • 24.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – FDK (Function Development Kit)
  • 25.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – FDK (Function Development Kit) JAVA GO
  • 26.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – FDK (Function Development Kit) JAVA GO
  • 27.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – Fn Flow
  • 28.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Functions 항공 예약 book cancel 호텔 예약 book cancel 렌트카 예약 book cancel 메일 send
  • 29.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | 개발/테스트/배포 클라우드에서 배포 및 테스트 •~ 30 초 로컬에서 배포 및 테스트 •~ 10 초 테스트 •~ 1 초
  • 30.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Functions의 조립 항공 예약 book cancel 호텔 예약 book cancel 렌트카 예약 book cancel 메일 send 종료 비행기 예약 호텔 예약 렌트카 예약 메일 전송 시작 yes yes yes yes no no no
  • 31.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Fn Project – Fn Flow
  • 32.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Serverless Architecture Fn Project at Oracle Functions-as-a-Service
  • 33.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Serverless at Oracle Trigger Kafka Event Bus, API Platform, Database (DBaaS), MySQL CS, Cache, WebHooks, Events from Management Cloud Messages on the Messaging Cloud etc.
  • 34.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. | Serverless at Oracle Schedule Event Policy CI/CD Objects Functions Work Flow Scheduling & Orchestrator
  • 35.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | http://github.com/shiftyou/fnproject 실습때 다시 만나용~