SC5 IN BRIEF
3
What you should know about us
CLOUD
SOLUTIONS
BUSINESS
APPLICATIONS
DIGITAL
DESIGN
10+
YEARS
100+
CUSTOMERS
400+
PROJECTS
HEL
JKL
85
HACKERS
DESIGNERS
7
MEUR
2016MACHINE
LEARNING
TRACK RECORD OF SERVERLESS DELIVERIES
16 CUSTOMERS SINCE 2016 VARIETY OF SOLUTIONS
▪ Serverless web applications (cloud
backend + UI)
▪ IoT solutions
▪ Hybrid Cloud Enterprise APIs
▪ Intelligent applications
▪ Chatbots
MEDIA
FINANCE OTHER
INDUSTRIAL
SOFTWARE ENERGY
INDUSTRIAL
MULTICLOUD CAPABILITY
FOOD
INDUSTRIAL
RECOGNIZED SERVERLESS CONTRIBUTOR
PARTNERSHIPS CONTRIBUTIONS
▪ Author of several Serverless plugins /
boilerplates
▪ Active serverless workshop & event organizer
(e.g. bot workshop at ServerlessConf London
2016)
▪ Founder and main organizer of Serverless
Finland (serverless.fi) community (over 230
members)
AWS Consulting Partner
AWS Lambda delivery partner,
API Gateway delivery partner,
DynamoDB delivery partner
Serverless Framework partner
(1 of 4 worldwide)
WHY SERVERLESS (FRAMEWORK)?
▪ Ready tooling for building and deployment of Serverless
application
▪ Plug-in mechanism to enhance and customize the development
experience
▪ Capability (via plugins) to run Lambda functions locally (run & test
without deployment)
▪ Easier to debug (consume logs locally)
▪ Multi-cloud support (AWS + Azure / Google / Bluemix)
LIMITATIONS OF ”VANILLA” SERVERLESS
▪ No ability to run code / test offline
▪ Deployment produces an unoptimal package => slow ”cold start”
▪ Need to manually set up tests
▪ Need to define IAM Roles for AWS Resources (DynamoDB / SNS)
Let’s give the SC5 Serverless boilerplate a try!
https://github.com/SC5/sc5-serverless-boilerplate
HAPPY OR NOT WEBSHOP (2015)
(SUB)OBJECTIVE:
★ Create Authorize.net profile, Salesforce account,
order, invoice after webshop purchase (async)
CHALLENGES:
★ Lambda max timeout 60 secs
★ No guarantee for the whole chain to perform
within timeout
27
Challenges
HAPPY OR NOT WEBSHOP (2015)
28
Decoupling with SNS
1.
Receive
confirmation
from
Authorize.net
2.
Create
Authorize.net
Payment profile
3.
Create
Salesforce
account & contact
4.
Create
Salesforce
order & invoice
SESSION TABLE
(Lambdas read
and update info)
WEBSHOP TOPIC
(Lambdas subscribe
and post to topic)
HOW IT COULD BE DONE IN 2017
29
HappyOrNot Webshop
1.
Receive
confirmation
from
Authorize.net
3a.
Create
Authorize.net
Payment profile
3b.
Create
Salesforce
account & contact
3c.
Create
Salesforce
order & invoice
SESSIONS
(Lambdas read and update info)
2.
Launch step
function
3.
Step function
controls flow of
Lambda calls
GASUM ONLINE PORTAL (2016)
SUBOBJECTIVE:
★ Build an API (read/write) on top of data managed
internally
CHALLENGES:
★ No network / API access to internal application
30
Challenges
GASUM ONLINE PORTAL (2016)
31
Hybrid data setup & API
Serve API
calls from
application(s)
Subscribe S3
bucket
Update database
on uploads
Read (DB) /
write (DB, S3)
based on API
requests
S3 bucket as
proxy for
communication
Internal
Application
.EXE
Client app syncs
data between ERP
and S3
SC5 OPS MACHINE (2017)
OBJECTIVE:
★ Collect data from different data sources to a
consistent and easily accessible data set (e.g.
PowerBI / applications / business automation)
32
Challenges
SC5 OPS MACHINE (2017)
33
Serverless data pipeline
1.
Scheduled event(s)
fire Lambda(s)
2.
Lambdas extract
data from source
systems to S3
3.
Lambdas
subscribe to S3,
normalize data
and save to S3
EXTRACTED
DATA
NORMALIZED
DATA
4.
Lambdas
subscribe to S3,
store data to
various targets
Source / target system access
secrets encrypted using KMS