Slide 1

Slide 1 text

OpenSource Catalog of Reusable Serverless Functions Dmitri Zimine StackStorm, Extreme Networks @dzimine StackStorm Exchange

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Something still missing? since Nov’17 246 apps max: 365 since Apr’18 ? apps max: ?

Slide 4

Slide 4 text

What are your Lambdas ?

Slide 5

Slide 5 text

BUSINESS LOGIC INTEGRATIONS

Slide 6

Slide 6 text

Missing: reusable integrations! since Nov’17 246 apps max: 365 since Apr’18 ? apps max: ?

Slide 7

Slide 7 text

since Nov’17 246 apps since Apr’18 ? apps since 2014 160 packs

Slide 8

Slide 8 text

Welcome StackStorm Exchange! • Open Source Catalog of Reusable functions • Since 2014, 160+ integrations, 6,500+ actions • Integrated with @goserverless framework What is it? Where did it come from?

Slide 9

Slide 9 text

How people Lambda before Serverless?

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

in 30 seconds Actions Sensors Workflows Rules IT Domains Config mgmt Storage Networking Containers Cloud Infra Monitoring Ops Support Triggers Calls For details: StackStorm.com

Slide 12

Slide 12 text

StackStorm is like … Actions Sensors Workflows Rules Step Functions AWS Lambda open-source born 2013 server-full

Slide 13

Slide 13 text

show Exchagne →

Slide 14

Slide 14 text

StackStorm Exchange Facts • 140 integration packs, 6,500+ actions • Open Source • Mature – packs since 2014, Exchange site launched 2016 • Heavily used and contributed • Strong community

Slide 15

Slide 15 text

What if I could •Reuse Exchange integrations in #Serverless projects? •Turn actions to Lambda functions? •Make it easy?

Slide 16

Slide 16 text

16 Show Time

Slide 17

Slide 17 text

Set up a new serverless project $ mkdir stormless $ cd stormless $ npm init ... $ sls plugin install \ --name serverless-plugin-stackstorm ... $ vim serverless.yml

Slide 18

Slide 18 text

shw Action from StackStorm Exchange, {pack}.{action_name} Input transformation, with Jinja templates Output transformation, with Jinja templates Handy for use in StepFunctions Plugin reference Pack-level configuration parameters.

Slide 19

Slide 19 text

run commands →

Slide 20

Slide 20 text

Look under the hood

Slide 21

Slide 21 text

#stormless

Slide 22

Slide 22 text

#stormless

Slide 23

Slide 23 text

Exchange browse package run locally deploy AWS #serverless lambci/docker-lambda serverless-plugin-stackstorm

Slide 24

Slide 24 text

stackstorm-runner pack/actions handler.py requirements https://github.com/StackStorm/serverless-plugin-stackstorm

Slide 25

Slide 25 text

check deployment →

Slide 26

Slide 26 text

show code → #codeless Just kidding ! ... but we didn’t write any code!

Slide 27

Slide 27 text

https://goo.gl/EyGGVE

Slide 28

Slide 28 text

Just Do It ! • Give it a try • Run this demo: dzimine/stormless • Follow the 4-episode tutorial: https://goo.gl/EyGGVE • Share feedback • forum.serverless.com or forum.stackstorm.com • Twitter: @Stack_Storm, @goserverless, @dzimine • Contribute back to Exchange • exchange.stackstorm.org • More actions, more functions!

Slide 29

Slide 29 text

@goserverless @stack_storm exchange.stackstorm.org

Slide 30

Slide 30 text

Credits Kirill Enykeev @enykeev Tomaz Muraus @Kami

Slide 31

Slide 31 text

WWW.EXTREMENETWORKS.COM Thank you! Open Source

Slide 32

Slide 32 text

Resources • StackStorm Exchange https://exchange.stackstorm.org • serverless-plugin-stackstorm https://github.com/StackStorm/serverless-plugin-stackstorm • Building a community sign-up app with Serverless, StepFunctions, and StackStorm Exchange https://goo.gl/EyGGVE • This talk, demo code: https://github.com/dzimine/stormless • Questions, follow up thoughts: twitter: @dzimine